我正在尝试访问位于企业防火墙(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。
如果未提示您输入用户名和密码,则您的凭据可能会缓存在您的计算机上。您可以在钥匙串中更新凭据,以将旧密码替换为令牌。
我让它工作的方式是:
- 在 Github 存储库上生成访问令牌,并提供对其的读取和管理员权限
- 使用令牌作为密码
凭据可以保存在 Kubernetes 中作为机密或保存在 Vault 中。希望这有帮助。