我正在将一些 LibGit2Sharp 代码连接到 VSO,因此我需要使用备用凭据来访问它。 (NTLM 不起作用)我不想管理这些明文凭据 - 我已经在使用 git-credential-winstore 来管理它们,如果我需要更新这些凭据,我很高兴登录该框信用。

我看到我可以传入 DefaultCredentials 和 UsernamePassword 凭据 - 有什么方法可以让它从机器上已经配置的全局 git cred 存储中获取凭据?

最佳答案

与外部程序交谈超出了 libgit2 的范围,因此它不会与 git 的凭证助手交谈。无论用户身在何处,从用户那里检索凭据都被认为是工具编写者的责任。

凭证存储是 git 命令行工具的助手,可与您环境中的任何凭证存储集成,同时将逻辑保持在需要在许多不同地方运行的主工具之外。它不是存储库的核心,而是用户界面的助手。

使用 libgit2 时,您是编写用户与之交互的工具的人,因此知道如何最好地访问特定于环境的存储。 libgit2 想知道的是它究竟应该对身份验证挑战做出什么样的回答,因为它的任何猜测都会让每个人的生活变得更加艰难。

由于 Windows 凭证存储是通过 API 访问的,因此支持一些便利功能将凭证存储转换为 libgit2 的回调所需的功能并非不可能,但这并不是 libgit2 可以轻松采取主动的东西。

关于libgit2sharp - libgit2sharp 可以依赖已安装的 git 全局配置提供程序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23962587/

10-11 16:19