前言
在 2020 年 7 月的時候 GitHub 就開始聲明將棄用 password authentication 機制,改為採用 token-based authentication 機制。這項機制終於在 2021 年的 8 月 13 強制實施,這裡紀錄如何使用 Personal Access Token (PAT) 讓我們可以與 GitHub 連線。
產生 PAT
登入 GitHub 後點擊右上角自己的頭像,進入 Settings 中的 Developer settings
透過 Personal access tokens → Generate new token
到建立 PAT 的頁面,其中有三個資訊需要填寫,分別為
Note
:可以視為 PAT 的名稱,目的性越清楚越好,避免一段時間回來看的時候不知其用途。Expiration
:指定 PAT 有效期限,依自己需求設定時間長度。以 Token 來說,一個月到三個月是可接受的範圍,不建議設定為永久。Select scopes
:指定 PAT 擁有的權限,每個權限說明可以參考 Scopes for OAuth Apps。
填寫好之後點擊 Generate token
按鈕產生 PAT
產生的 PAT 會直接顯示在頁面上,需要馬上記下來,否則離開頁面後就無法找回,只能重新產生
透過 Git Cli 設置 PAT
直接對 GitHub 使用 push/pull/fetch 等指令,觸發輸入帳密
1 | $ git remote add origin https://github.com/{username}/{repository} |
如果直接操作沒有出現帳密輸入提示,反而出現以下訊息
1 | remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. |
表示帳號密碼已經存在於快取之中,我們需要先使用以下指令移除已存在的帳號密碼,再重新操作一次上面的指令
1 | $ git config --global --unset credential.helper |