Spring Cloud Config with Github repo using Credentials



我正在尝试访问位于企业防火墙(Open VPN(后面的Github存储库。我正在尝试使用我的用户名和密码访问,但出现以下异常。有关如何使用Spring Cloud访问存储库的任何建议。

应用程序属性:

spring.cloud.config.server.git.uri=https://github.com/company-repo/abc.git
spring.cloud.config.server.git.username=tarun
spring.cloud.config.server.git.password=xxxxx
spring.cloud.config.server.git.ignore-local-ssh-settings=true

例外:

Error occured cloning to base directory. org.eclipse.jgit.api.errors.TransportException:
https://github.com/company-repo/abc.git: not authorized

不要在app.prop文件中使用您的 GitHub 密码...您将获得">未授权"例外。而是生成访问令牌。

创建个人访问令牌

应创建个人访问令牌,以通过命令行或 API 代替密码。

个人访问令牌 (PAT( 是使用 GitHub API 或命令行时使用密码对 GitHub 进行身份验证的替代方法。

如果要使用 PAT 访问使用 SAML SSO 的组织拥有的资源,则必须授权 PAT。更多信息请参阅"关于使用 SAML 单点登录进行身份验证"和"授权个人访问令牌以用于 SAML 单点登录"。

作为安全预防措施,GitHub 会自动删除一年内未使用的个人访问令牌。

创建令牌

验证
  • 您的电子邮件地址(如果尚未验证(。

  • 在任何页面的右上角,点击您的个人资料照片,然后点击设置。

  • 用户栏中的设置图标 在左侧边栏中,点击开发者设置。

  • 在左侧边栏中,单击"个人访问令牌"。

  • 单击生成新令牌。

  • 为令牌指定一个描述性名称。

  • 选择要授予此令牌的范围或权限。若要使用令牌从命令行访问存储库,请选择"存储库"。

  • 单击生成令牌。

  • 单击以将令牌复制到剪贴板。出于安全原因,在离开页面后,您将无法再次看到令牌。

警告:将您的令牌视为密码并保密。使用 API 时,请使用令牌作为环境变量,而不是将它们硬编码到程序中。

要使用令牌向使用 SAML SSO 的组织进行身份验证,请授权令牌用于 SAML 单点登录组织。

在命令行上使用令牌

获得令牌后,在通过 HTTPS 执行 Git 操作时,可以输入令牌而不是密码。

例如,在命令行上,您将输入以下内容:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

个人访问令牌只能用于 HTTPS Git 操作。如果您的存储库使用 SSH 远程 URL,则需要将远程从 SSH 切换到 HTTPS。

如果未提示您输入用户名和密码,则您的凭据可能会缓存在您的计算机上。您可以在钥匙串中更新凭据,以将旧密码替换为令牌。

我让它工作的方式是:

  1. 在 Github 存储库上生成访问令牌,并提供对其的读取和管理员权限
  2. 使用令牌作为密码

凭据可以保存在 Kubernetes 中作为机密或保存在 Vault 中。希望这有帮助。

最新更新