我已经在网上搜索过了,还没有找到明确的答案,所以也许这里的人可以帮我理解。
总结这个问题
Git凭据管理器(GCM)是另一种安全存储凭据并通过HTTPS连接到GitHub的方法。使用GCM的,您不必手动创建和存储PAT,因为GCM代表管理身份验证,包括2FA (双因素身份验证)。
如果不使用GitHub CLI进行身份验证,则必须使用个人访问令牌进行身份验证。当Git提示您输入密码时,请输入您的个人访问令牌(PAT)。Git的基于密码的身份验证已经被删除,使用PAT更安全.有关更多信息,请参见“创建个人访问令牌”。每次使用Git对GitHub进行身份验证时,系统都会提示您输入凭据,以便使用GitHub进行身份验证,除非您将它们缓存为凭据助手。
我非常感兴趣的是上面的黑体字:
GCM (核心)是如何代表我“管理”认证的,而不需要我费力地创建一个PAT?
我试图保持这个问题的简短和精确,但我将在这里详细阐述:我尝试使用GIT for Windows (最新版本)以及VS 2022附带的GIT。它们都是最新的,并且使用了最新版本的凭据管理器核心,这是GitHub新的(自2021年以来)策略所需要的,现在不再允许acc/pw,现在需要使用PATs来验证。然而,我想知道GCM实际上是如何神奇地工作的,而不需要在GitHub设置中手动创建PAT (参见链接)。从上述文章中,我强烈地假设Windows凭据管理器持有某种访问令牌(甚至acc/pw??)。我希望能对此作出一些澄清。
-is存储在Windows凭据管理器(以前称为Vault)中的acc/pw或令牌?-where是令牌的来源,如果不是由GitHub中的用户手动创建的话(是否有GitHub调用的GitHub的api/webservice?如果是这样的话,为什么所有这些教程都指示手动添加PATs?我怎样才能利用同样的功能??)
西德诺特:
我还搜索了其他消息来源:
只是更多地提到人工创建的PATs..。(与所问的正好相反)
非常感谢大家!
发布于 2022-03-24 02:06:49
GitHub个人访问令牌只是GitHub OAuth令牌的一个特例。我不记得当前的GCM实现是如何工作的,因为我认为它已经改变了以前的核心GCM实现,但是它基本上让您登录并执行某种OAuth流来为您的帐户发出令牌。无论是实际的PAT还是其他类型的OAuth令牌都是无关紧要的,因为它们本质上是同一回事。
GCM可以在各种地方存储凭据,包括系统凭据存储(这取决于操作系统的不同)。一旦它们被存储,只要它们是有效的,Git就会使用它们。
大多数教程建议自己生成PAT的原因是,GCM虽然适用于多个平台,但默认情况下除了作为Git for Windows的一部分之外,不会在任何地方发布。事实上,因为它是用.NET编写的,所以要让它在macOS和Linux上工作通常有点麻烦,因此通常会使用其他凭据助手。有些人还在Windows上使用不同的凭据管理器。大多数编写教程的人都想提出一些普遍适用的建议,因此建议使用PAT是一种简单易用的方法。
如果您想做类似的事情来发出令牌,GitHub提供了关于如何使用OAuth应用程序执行此操作的文档。。根据用户授予的权限,这些令牌还可以用于访问API (如果需要的话)。
https://stackoverflow.com/questions/71591735
复制相似问题