关于github在vscode上的认证以及密钥缓存机制
程序员文章站
2022-06-22 17:17:11
今天在向GitHub仓库提交代码的时候收到了这封邮件,说是使用密码的认证将要被舍弃了,提醒我换成两步验证(2FA),切换成两步验证很顺利,突然很好奇GitHub密码在Mac上是怎么保存的vscode的设置里有两个选项,如下图保存密码的地方如下图:场景一:开启GitHub 2FA☑️Git: Terminal Authentication提示输入账号密码,认证失败场景二:开启GitHub 2FA☑️Github: Git Authentication提示输入账号密码,认证....
今天在向GitHub仓库提交代码的时候收到了这封邮件,说是使用密码的认证将要被舍弃了,提醒我换成两步验证(2FA),切换成两步验证很顺利,突然很好奇GitHub密码在Mac上是怎么保存的
vscode的设置里有两个选项,如下图
保存密码的地方如下图:
场景一:
- 开启GitHub 2FA
- 删除github.com login
- ☑️Git: Terminal Authentication
提示输入账号密码,认证失败
场景二:
- 开启GitHub 2FA
- 删除github.com login
- ☑️Github: Git Authentication
提示输入账号密码,认证失败
场景三:
- 开启GitHub 2FA
- 删除github.com login
- ☑️Git: Terminal Authentication
- ☑️Github: Git Authentication
正常克隆
keychain中自动添加github.com login
场景四:
- 开启GitHub 2FA
- 删除vscodevscode.github-authentication
- ☑️Git: Terminal Authentication
正常克隆
keychain中没有自动添加vscodevscode.github-authentication
场景五:
- 开启GitHub 2FA
- 删除vscodevscode.github-authentication
- ☑️Github: Git Authentication
同场景四
场景六:
- 开启GitHub 2FA
- 删除vscodevscode.github-authentication
- ☑️Git: Terminal Authentication
- ☑️Github: Git Authentication
同场景四
场景七:
- 开启GitHub 2FA
- 删除github.com login、vscodevscode.github-authentication
- ☑️Git: Terminal Authentication
同场景一
场景八:
- 开启GitHub 2FA
- 删除github.com login、vscodevscode.github-authentication
- ☑️Github: Git Authentication
同场景二
场景九(bug):
- 开启GitHub 2FA
- 删除github.com login、vscodevscode.github-authentication
- ☑️Git: Terminal Authentication
- ☑️Github: Git Authentication
成功clong
keychain中自动添加github.com login,没有自动添加vscodevscode.github-authentication
而且我的PAT也是空的
(感觉这里github.com login是从某个类似缓存的地方添加进来的,这应该是个bug,因为这会导致无法完全与GitHub解绑,参考这个issue:https://github.com/Azure/azure-sdk-for-js/issues/11778)
查看credential.helper
>>> git config --get --show-origin credential.helper
file:/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig osxkeychain
>>> git config --list --show-origin
file:/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig credential.helper=osxkeychain
file:/Users/microfat/.gitconfig user.email=gaoxiang992@gmail.com
file:/Users/microfat/.gitconfig user.name=microfat
file:/Users/microfat/.gitconfig core.excludesfile=/Users/microfat/.gitignore_global
参考:
https://*.com/questions/16052602/disable-git-credential-osxkeychain
https://docs.github.com/cn/free-pro-team@latest/github/using-git/caching-your-github-credentials-in-git
本文地址:https://blog.csdn.net/MacwinWin/article/details/111866665