首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows凭据管理器中存储/编辑Github访问令牌

在Windows凭据管理器中存储/编辑Github访问令牌
EN

Stack Overflow用户
提问于 2021-09-18 23:55:50
回答 1查看 1.7K关注 0票数 0

我目前正在进行一个项目,允许我使用2个Github帐户(work / private)。我正在构建一个以用户名为参数的NodeJS CLI,并相应地更新以下值:

代码语言:javascript
复制
git config --global user.name USERNAME
git config --global user.email EMAIL

Updates Windows credential manager with the following values:
USERNAME, PERSONAL-ACCESS-TOKEN

电子邮件和个人访问令牌是安全存储的,检索它们不是问题所在。我使用Windows凭据管理器来存储我的Git凭据,但是当我查看我的凭据管理器时,我有两个单独的条目可以用于GitHub身份验证:

  1. vscodevscode.github-authentication/github.auth -> username: github.auth
  2. git:https://github.com -> username: PERSONAL USERNAME

我了解到,从一小段时间以来,Github正在使用令牌对其用户进行身份验证。存储这些凭据的首选方法是使用URL-语法(https://USERNAME:PAT@github.com/LINK_TO_REPO),但这只适用于每个存储库。我正在寻找一个命令来在全局上更改Git身份验证(用于GitHub)。

因此,VS代码(我正在使用GitLens插件,VS代码对GitHub进行身份验证)是否可以使用存储在某个文件中的自定义用户名+个人访问令牌,而不是github.auth帐户凭据?或者,存储在Windows凭据管理器中,在那里我可以读取和编辑它们?

如果Windows凭据管理器将其存储/传递为密码,GitHub是否接受该个人访问令牌?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-19 01:21:34

在URL中不是存储令牌的首选方式。Git上游特别不鼓励这一点,因为它将凭据保留在存储库中,任何人都可以在其中读取它们,这是完全不安全的。

首选的方法是使用凭据管理器,其中在Windows上有两种可能性:wincred (使用Windows凭据管理器)和manager ( Git凭据管理器Core (也可以使用Windows凭据管理器或其他什么)。您也可以使用store后端,它存储在明文文件中,尽管这比存储在URL中稍微好一些。通过设置credential.helper值,可以在Git中设置首选后端。Git常见问题将对此做一些详细的介绍。

Git还提到了如何设置HTTP上的多个帐户。这是相对简单的,并将与您的证书助手自动工作,如果您使用一个。请注意,您可能需要告诉VS代码将自己排除在身份验证过程之外;因为我不使用VS代码,所以我不能真正说明如何做到这一点。

Git现在通过HTTPS进行身份验证,无论您使用令牌还是密码,传递方式都是相同的:使用基本身份验证的密码。即使GitHub不接受密码,这也是正确的:令牌仍然在Basic的密码字段中传递,任何不是令牌的内容都会被拒绝。

最后,请注意,user.name不是用户名。Git常见问题特别提到它是一个个人名称(例如,Git的维护者将其设置为“Junio”),与身份验证无关。这是在您创建的提交中使用的作者和提交者名称。

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

https://stackoverflow.com/questions/69239318

复制
相关文章

相似问题

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