当前位置: 首页 > 知识库问答 >
问题:

在哪里存储来自GitHub的个人访问令牌?

殷轶
2023-03-14

如果是,是否有任何首选的存储方式?

共有1个答案

茅慈
2023-03-14

密码的一半意义在于(理想情况下)你会记住它们,然后系统会对它们进行散列,因此它们永远不会以纯文本形式存储在任何地方。
然而GitHub的个人访问令牌系统似乎基本上迫使你以纯文本形式存储令牌?

首先,PAT(个人访问令牌)不是一个简单的密码,而是一个等价物:

  • 您可以生成多个时间(例如,您需要从其访问GitHub存储库的每台机器生成一个时间)
  • 您可以在任何时候(从GitHub web界面)撤消,这将使该PAT过时,即使它在其中一台机器上徘徊。

这与您的密码不同,密码是您的帐户唯一的,不能很容易地更改,而不必在您碰巧使用它的任何地方修改它。

由于在命令行或API上使用Git在HTTPS上执行Git操作时可以使用PAT代替密码,因此可以使用Git credential helper来安全地缓存它。
例如,在Windows上使用Windows credential Manager,通过GCM--Git credential Manager--for Windows:

git config --global credential.helper manager

第一次推到回购时,弹出窗口将询问您的凭据:用户名和您的PAT。
下一次,它将不再询问,并直接重用该PAT,该PAT仍然安全地存储在您的凭据管理器中。

类似的想法适用于带有OSX密钥链的Mac和带有GNOME密钥环的Linux(在2021年,它将需要一个DBus会话和libsecret)。
想法仍然是:将PAT存储在加密的凭据存储区中。

更现代的解决方案(Q42020)是Microsoft Git-Credential-Manager-Core

git config --global credential.helper manager-core

您需要安装git-credential-manager-core,下载其最新版本,如gcmcore-linux_amd64.2.0.474.41365.deb

sudo dpkg -i <path-to-package>
git-credential-manager-core configure

但是,在Linux上使用GCM(Git-Credential-Manager-Core)时,正如Mekky Mayata在注释中指出的那样,您需要首先定义GIT配置--global credential.credentialstore

参见“Linux上的凭据存储”:

在Linux平台上,有四种存储Git Credential Manager Core(GCM Core)管理的凭据的选项:

    null
 类似资料:
  • 在GitHub中生成个人访问令牌后,是否有必要将其存储在机器的本地某处? 如果是,是否有任何首选的存储方式?

  • 我正在尝试构建一个Spring Boot REST API,它将实现社交登录(Spotify)。成功登录Spotify后,我想将Spotify access_令牌存储在我生成的JWT令牌中,以便能够访问我的后端。我需要一个Spotify访问令牌,以便能够对Spotify进行API调用(几乎所有对我的应用程序的请求都需要调用Spotify API)。在JWT中存储外部服务的访问令牌是一种好做法吗?或

  • 我正在实现一个需要身份验证的REST服务。我正在使用JWT。 现在,Android应用程序在登录时发送一个请求,获得一个令牌,并且必须在每个后续请求的头中发送令牌。 我的问题是,如何存储令牌,或者我应该将其存储在哪里? 共享偏好 SQLite数据库 归档 最好的做法是什么?还是我完全错了?

  • 问题内容: 我可以通过多种方式提出这个问题,例如如何使用Github个人访问令牌配置Jenkins凭据如何使用Github个人访问令牌在Jenkins中克隆Github存储库 所以这是问题 我知道的替代解决方案 连接 Jenkins中的配置,但我的问题是如何使用以下方法与Github建立Github连接 问题答案: 经过来自Stackoverflow的多个线程的多次讨论之后 我发现一个有用的线程。

  • 不久前我在GitHub上设置了2因子身份验证。所以,有一次我在命令行中工作,想要推到我的repo。我输入了我的用户名和密码,但它失败了,给出了如下错误 所以,我读了这篇文章,得到了我必须生成一个个人访问令牌来推送任何东西的解决方案。很好,但我认为这是一个有点困难的过程,因为首先我不记得那个巨大的令牌,其次,将访问密钥存储在文本文件中不是一件安全的事情。 所以,如果有人能给出一个简单的解决方案,推动

  • 我有一个npm包,它依赖于package.json中的私有github服务器中的回购: github服务器使用个人访问令牌(在身份验证期间用作密码)进行安全保护。在本地构建中,用户可以为https://private.github.example.com存储其,git将在npm构建期间自动使用它们访问github存储库。 我在Jenkins中也有一个技术用户,它通常可以通过个人访问令牌访问gith