我目前正在做一個專案,該專案允許我使用2個Github賬戶(作業/私人)。我正在構建一個 NodeJS CLI,它將用戶名作為一個引數,并相應地更新以下值:
電子郵件和個人訪問令牌被安全存盤,檢索它們不是這里的問題。我使用Windows憑證管理器來存盤我的Git憑證,但是當我查看我的憑證管理器時,我有2個獨立的條目可以用于GitHub認證:
據我所知,從不久前開始,Github正在使用令牌來驗證其用戶。而存盤這些憑證的首選方式是使用URL語法( 那么,VS Code(我使用GitLens插件,VS Code對GitHub進行自我認證)是否可以使用存盤在某個檔案中的自定義用戶名 個人訪問令牌,而不是 如果Windows Credential Manager將個人訪問令牌作為密碼存盤/傳遞,GitHub是否接受?
uj5u.com熱心網友回復: 事實并非如此,存盤令牌的首選方式是在URL中。 Git上游特別不鼓勵這樣做,因為它把憑證以明文形式留在倉庫中,任何人都可以讀取,這完全是不安全的。
首選的方法是使用一個證書管理器,在Windows上有兩種可能性。 Git FAQ 還提到了如何通過 HTTP 設定多個賬戶。 這相對來說比較簡單,如果你使用了你的證書助手,它將自動與你的證書助手一起作業。 請注意,您可能需要告訴 VS Code 將自己排除在認證程序之外;由于我沒有使用 VS Code,所以我無法真正說明如何做到這一點。
按照目前Git通過HTTPS進行認證的方式,無論你使用令牌還是密碼,都會以同樣的方式傳遞:作為使用Basic認證的密碼。 即使GitHub不接受密碼,也是如此:令牌仍會在基本認證的密碼欄位中傳遞,任何不是令牌的東西都會被拒絕。
最后,請注意,
標籤:git config --global user.name USERNAME
git config --global user.name USERNAME
git config --global user.email EMAIL
用以下值更新Windows憑證管理器。
username, personal-access-token
vscodevscode.github-authentication/github.auth --> username: github.authgit:https://github.com --> username: PERSONAL USERNAMEhttps://USERNAME:[email protected]/LINK_TO_REPO),但這只適用于每個倉庫。我正在尋找一個命令來改變Git認證(針對GitHub)的全域。
github.auth賬戶憑證?或者說,存盤在Windows憑證管理器中,我可以在那里閱讀和編輯它們?
wincred,它使用Windows憑證管理器,和manager,它是Git憑證管理器核心(它也可能使用Windows憑證管理器或其他東西)。 你也可以使用store后端,它存盤在一個純文本檔案中,盡管這只比存盤在URL中稍好。 在Git中可以通過設定credential.helper值來設定首選后端。 Git FAQ對此有詳細介紹。user.name不是一個用戶名。 Git FAQ中特別提到,這是一個個人名字(例如,Git的維護者將其設定為 "Junio C Hamano"),與認證無關。 這是在你創建的提交中使用的作者和提交人的名字。
