关于github在vscode上的认证以及密钥缓存机制

在这里插入图片描述
今天在向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://stackoverflow.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值