使用personal access token進行Github認證

唯鹿發表於2021-08-16

問題

14號晚上向Github提交程式碼時,發現報如下錯誤:

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/simplezhli/flutter_deer.git/': The requested URL returned error: 403
複製程式碼

原來是從8月13日開始,github不再支援密碼方式的身份驗證,要求使用基於令牌的身份驗證方式。其實早在去年底開始github就有不斷髮系統郵件建議我及時更換。 在這裡插入圖片描述 不過當時沒有太在意,只是知道了有這麼一回事。時間過得真快,這下到了不得不換的地步了。。。

解決方法

首先注意,這一變更針對使用密碼的方式,如果之前你使用的是SSH那不受影響。所以解決此類問題的一個方法就是改用SSH,如何使用這裡就不做過多介紹了。

另一種方式就是使用personal access token:進入github個人主頁,點選右上角頭像 --> Settings --> Developer settings 在這裡插入圖片描述 這裡就可以建立你的token,你可以根據你的情況設定相應的有效期和許可權。也可以在Android studio等Intellij IDEA工具中的github選單快捷新增(這裡新增可以幫你預設勾選一些必要許可權): 在這裡插入圖片描述 申請好了以後,你就可以獲取到token,注意儲存它。它就相當於是你的密碼。 在這裡插入圖片描述 如果下次push程式碼需要輸入密碼的時候,就可以用這裡的token來代替原有的密碼進行驗證。如果使用Intellij IDEA等工具,可以在github選單中重新登入。

更新憑據

這裡需要注意一點,對於已有的專案,因為電腦系統已經記住了你之前的密碼,所以你需要刪除它。這樣才能觸發重新驗證的過程。當然也可以直接修改,不過我的建議是刪除重新走一遍流程,避免其他問題影響驗證。

macOS

點選選單欄右側的Spotlight(放大鏡圖示)。輸入Keychain access,然後啟動"鑰匙串"應用程式,搜尋“github.com” 你可以 刪除“網際網路密碼”那條,然後重新提交程式碼時就可以重新驗證身份了。

Windows

Windows的情況類似:

控制皮膚 --> 使用者賬戶 --> 憑據管理器 --> windows憑據

在這裡插入圖片描述 找到對應的憑據進行刪除。後面驗證身份時,就需要輸入token驗證(以前這裡是輸入使用者名稱密碼):

在這裡插入圖片描述

參考

相關文章