我已经决定在大堂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
仍然得到同样的错误。
我应该在范围内加入什么?
答案 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的版本,但即将发布的下一个版本将:-)