【问题标题】:configure teamcity with github, why do i need a git password if i use OAuth?使用 github 配置 teamcity,如果我使用 OAuth,为什么需要 git 密码?
【发布时间】:2019-03-01 19:08:16
【问题描述】:

我正在尝试使用我的 github 配置 teamcity。

第一步是在 git 中使用 OAuth 以保护 teamcity 和 git 之间的连接,这似乎工作正常,现在,当我去添加一个新的 VCS 根时,我可以看到我所有的 git 存储库并从中选择。

我遇到的问题是当我尝试添加这个 VCS 根目录时,我选择了一个 git 存储库,然后我需要输入用户名和密码。

我的问题是,如果我使用 Oauth,为什么我需要输入我的 git 用户名和密码?我与 git 的连接已经安全,我可以看到所有可供选择的存储库。

如果我将“身份验证方法”更改为“匿名”它不起作用,连接对我有用的唯一方法是如果我使用我的 git 用户名和我的 git 令牌。

【问题讨论】:

  • BitBucket 云也有同样的问题。这使得 TeamCity 完全无用。马上,如果您不放弃信用,它就无法检查源。 WFT JetBrains?
  • 这对我来说也没什么意义
  • TeamCity 仅为私有存储库填写密码。您还希望服务器如何检查您的源代码?它需要凭据。实际上 TeamCity 在这种情况下不知道您的密码,它存储令牌。当您授予对 TeamCity 应用程序的访问权限时,您允许 TeamCity 代表您生成 OAuth 令牌。所以这个令牌然后用于访问存储库。

标签: github teamcity


【解决方案1】:

当您在 OAuth 的帮助下将 TeamCity 连接到 GitHub 时,您授予 TeamCity 服务器权限以代表您对 GitHub 进行 REST API 调用。但是要签出源代码是不够的。仅仅是因为您的 git 可执行文件对 OAuth 令牌和所有这些 OAuth 特定流程一无所知。它需要密码或 SSH 密钥。

因此,TeamCity 需要生成一些可以用作密码的东西才能使其工作。幸运的是,对于 GitHub,可以使用常规的 OAuth 令牌,因为它是永久性的。 Bitbucket 云没有永久令牌,而是建议使用应用程序密码。但是没有办法代表用户生成这样的密码......所以使用 Bitbucket 和私有存储库,只有用户可以生成并输入这个密码。

TeamCity Web 界面中的“密码”一词可能会引起混淆。但即使在流行的 Git 托管服务中也没有通用的表示法。也许如果你开始考虑 Git 客户端,那么它会很有意义。对于 Git 客户端,这确实是一个密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-11
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2018-09-12
    相关资源
    最近更新 更多