首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git凭证管理器(GCM)是如何在不手动创建个人访问令牌(PAT)的情况下工作的?

Git凭证管理器(GCM)是如何在不手动创建个人访问令牌(PAT)的情况下工作的?
EN

Stack Overflow用户
提问于 2022-03-23 17:42:33
回答 1查看 1.3K关注 0票数 0

我已经在网上搜索过了,还没有找到明确的答案,所以也许这里的人可以帮我理解。

总结这个问题

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?我怎样才能利用同样的功能??)

西德诺特:

  • 我在验证GIT和VS时所做的所有工作就是在帐户部分的VS中添加GitHub帐户/pw。在那之后,我根本不需要输入用户名/-或任何标记。无论是命令行(可移植)、GIT ( GIT -bash)还是VS都不包含GIT。
  • 我检查了Windows凭据管理器密码,以验证它们是否确实是令牌或普通密码。确实存在某种访问令牌 (my没有保存在那里)。但这只是我问题的一半。更有趣的是,这个令牌来自哪里,以及如何在不手动创建令牌的情况下从GitHub获取令牌?!此外,该令牌的含义是什么(它是否过期,何时等.)

我还搜索了其他消息来源:

创建个人访问令牌

使用令牌使用GitHub进行身份验证

取消了对密码身份验证的支持。请使用个人访问令牌代替。

只是更多地提到人工创建的PATs..。(与所问的正好相反)

使用令牌使用GitHub进行身份验证

取消了对密码身份验证的支持。请使用个人访问令牌代替。

如何使用个人访问令牌进行git提交?

Git凭据管理器和手动创建PAT

使用多个git个人访问令牌(PAT)和凭证管理器

非常感谢大家!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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 (如果需要的话)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71591735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档