我已经开始在大堂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 Cloud 中新注册的免费用户)都可以登录我的大厅ci服务器 .
经过一番研究,我得到了这个
通用oAuth --generic-oauth- *标志配置通用oAuth提供程序,该提供程序不会对默认情况下单个用户登录执行任何其他验证 . 它应该只以这种方式与内部auth系统一起使用 . 例如,如果它用于配置Google或Twitter oAuth,它将允许互联网上的每个人创建管道 . 它会非常慷慨 . 如果需要验证,请确保使用--generic-oauth-scope标志 .
那么有没有办法阻止未经授权的bitbucket Cloud 用户登录,这应该只限于我的组织?与github的选项相同 --github-auth-organization=ORG
我尝试添加 --generic-oauth-scope concourse.main
但总是得到错误:
failed to verify token
我也阅读OAuth on Bitbucket Cloud - Scopes并尝试使用大多数范围,例如
--generic-oauth-scope account
仍然得到相同的错误 .
我应该把什么放在范围内?
2 回答
对于Concourse CI> = v.3.7和<= v.4.0,您可以使用专用的Bitbucket Cloud身份验证提供程序 . 我写了一篇关于这个的文章,但要点就是要用
可悲的是,Concourse 4.0的新用户模型no longer supports bitbucket Cloud .
Concourse master branch得到了BitBucket Cloud OAuth,请参阅
https://github.com/concourse/concourse/commit/265d35519442ff174a1036889b1910dc2f91d4c9
https://github.com/concourse/dex/commit/e1acb6d577111af69dd919712a70f3e952205fce
截至今日(2018-11-15),尚未发布支持BitBucket Cloud OAuth,但即将到期的下一个版本将:-)