我正在尝试使用Gerrit
设置OpenID
作为访问控制。我需要将google apps account
用作openID。我已经尝试了几种方法来实现这一目标,但到目前为止还没有成功。这就是我gerrit config
的样子:
[auth]
type = OPENID
allowedOpenID = 'https://www.google.com/accounts/o8/site-xrds?hd=mysite.com'
对于上述配置,我在尝试登录时遇到Provider is not allowed
错误。
它适用于普通google
帐户,但不适用于google apps account
帐户。我已经在stackoverflow
和gerrit
开发者网站上阅读了很多帖子,但没有任何内容对我有用。任何帮助表示赞赏。
修改
问题是在网址周围使用单引号'
。现在有一个新问题:一旦我登录并返回我的网站,它说:
The page you requested was not found, or you do not have permission to view this page
重定向的网址mysite.com/#SignInFailure,SIGN_IN,Provider+not+allowed
。有什么想法吗?
答案 0 :(得分:1)
经过一些搜索和阅读文档后,我遇到了this commit。我在Gerrit 2.7-rc1中尝试过它并且有效。
您的gerrit配置应包含以下内容:
[auth]
type = OPENID
trustedOpenID = https://www.google.com/accounts/o8/id?id=
openIdDomain = @mysite.com
这允许我使用域mysite.com中任何支持OpenID的电子邮件地址登录并禁止其他人。请注意,'@'必须在那里,没有它就无法工作。 ; - )
此外,如果您只想允许Google作为OpenID提供商,您可能需要设置以下内容以跳过OpenID提供商的选择:
[auth]
type = OPENID_SSO
openIdDomain = @mysite.com
openIdSsoUrl = https://www.google.com/accounts/o8/id
Documentation for Gerrit 2.6也包含此信息。
答案 1 :(得分:0)
您是否在gerrit配置中设置了canonicalWebUrl
属性?