当我使用Git连接到TFS服务器时,Git Credential Manager for Windows会弹出一个Microsoft登录框。但是,当我连接到GitHub服务器时,它为GitHub引发了一个不同的登录对话框。我想知道Git Credential Manager用于控制其弹出框的条件。这是服务器。服务器返回值?主机名?
答案 0 :(得分:1)
它基于URL。打开凭据管理器,您将看到类似以下内容的内容:
有关确切工作流程的更多详细信息来自here:
经理流程:
git-credential找到credential.helper = manager并使用“ get”选项调用git-credential-manager。
git-credential-manager缺少+的凭据。 git-credential-manager查看配置+以确定它们是基本凭证,VSO m因子还是GitHub 2因子身份验证。
对于基本凭证,git-credential-manager告诉git-credential事实是它没有任何凭证。
git-credential然后在命令行提示用户输入凭据。
用户输入凭据。
git-credential使用store选项调用git-credential-manager并提供用于存储的凭据。
另外configuration可以帮助您设置特定的授权方法,即即。如果我想使用NTLM来授权与TFS托管的git repo进行通信,我会输入
git config --system credential.myserver.com.authority Integrated
会明确告诉所有存储库使用Integrated / NTLM,而不是让用户输入用户名/密码(甚至不输入一次)。显然,将myserver.com更改为您自己的域。这还具有在用户必须更新密码时不会中断的附加优点。否则,他们将不得不从凭据管理器中手动删除/修改凭据。