如何将Bitbucket云与Concourse CI集成?

时间:2017-08-10 06:15:06

标签: oauth-2.0 bitbucket bitbucket-api concourse bitbucket-cloud

我已经决定在大堂ci中设立一个新团队,并可以作为Bitbucket用户登录。

fly set-team -n main \
  --basic-auth-username myuser \
  --basic-auth-password xxxx \
  --generic-oauth-display-name bitbucket \
  --generic-oauth-client-id xxxx  \
  --generic-oauth-client-secret xxxx \
  --generic-oauth-auth-url https://bitbucket.org/site/oauth2/authorize \
  --generic-oauth-token-url https://bitbucket.org/site/oauth2/access_token 

成功设置它的关键是,bitbucket中OAuth使用者的​​回调网址只需要大厅ci网站(回调网址中没有/auth/oauth/callback

现在我发现了一个问题。任何用户(甚至是bitbucket云中新注册的免费用户)都可以登录我的大厅ci服务器。

经过一番研究,我得到了这个

  

Generic oAuth

     

--generic-oauth- *标志配置通用oAuth提供程序,该提供程序不会对默认情况下单个用户登录执行任何其他验证。它应该只以这种方式与内部auth系统一起使用。如果它用于配置Google或Twitter oAuth,例如,它将允许互联网上的每个人创建管道。它非常慷慨。如果需要验证,请确保使用--generic-oauth-scope标志。

那么有没有办法阻止未经授权的bitbucket云用户登录,这应该只限于我的组织?与github的选项--github-auth-organization=ORG

相同

我尝试添加--generic-oauth-scope concourse.main但总是收到错误:

failed to verify token

我还阅读OAuth on Bitbucket Cloud - Scopes并尝试使用大多数范围,例如

--generic-oauth-scope account

仍然得到同样的错误。

我应该在范围内加入什么?

2 个答案:

答案 0 :(得分:3)

对于Concourse CI> = v.3.7和<= v.4.0,您可以使用专用的Bitbucket Cloud身份验证提供程序。我已经为此写了blog post,但要旨是使用

fly -t ci set-team -n dev --bitbucket-cloud-auth-client-id=xxx --bitbucket-cloud-auth-client-secret=xxx --bitbucket-cloud-auth-repository=myorg/myrepo`

可悲的是,Concourse 4.0的新用户模型no longer supports位存储桶云。

  

不再支持BitBucket身份验证。抱歉-Dex不支持。 :(但是,我们确实支持通用LDAP,oAuth和OIDC连接器,您也许可以使用它们。

答案 1 :(得分:1)

Concourse主分支恢复了BitBucket Cloud OAuth,请参见

截至今天(2018-11-15),尚无支持BitBucket Cloud OAuth的版本,但即将发布的下一个版本将:-)