Asi*_*ick 7 git github git-credential-manager
我有credential.helper=manager-core
,这是 Windows 凭据管理器的新助手。我不明白如果你可以让 git 用git credential fill
.
重现步骤
git config --system --list
。如果您运行的是Windows 2.29或更高版本的 Git,那么您应该能够credential.helper=manager-core
在列表中看到。对于早期版本,credential.helper
设置为manager
而不是manager-core
。我正在运行最新的Git For Windows 2.29.2,所以对我来说它返回了manager-core
。git credential fill
protocol=https
host=github.com`
<HIT ENTER KEY TWICE, as A blank line signals input completion>
Run Code Online (Sandbox Code Playgroud)
您注意到的是,如果您以git credential fill
与 Git 相同的方式调用,那么它将输出 Git 用于对您进行身份验证的凭据。这很有用,因为 Git 需要某种方式来获取它们,并且如果需要,您也可以通过以这种方式提取令牌来使用令牌来进行 API 调用。
这是安全的原因是,如果您正确配置了适当的凭证管理器,数据就会以加密格式存储,并且只有在您登录或以其他方式解锁时才会解锁。在 Windows 上的工作方式取决于您如何配置 Git Credential Manager Core,但libsecret
我在 Linux 上使用的帮助程序将加密的数据存储在我的系统钥匙串中,这些数据在我登录时解锁,在我未登录时不可用在。
请注意,在许多情况下,您可以使用凭证存储使用的其他 API(例如(在 Linux 上)secret-tool
等)提取类似的数据,因此您可以使用将其打印到终端的事实git credential fill
与您使用的能力没有什么不同任何其他 API 将其打印到终端或使用您在系统上使用的典型查看器查看它。