如何为Gerrit设置谷歌应用程序帐户openId

时间:2013-01-28 16:17:32

标签: openid google-apps gerrit google-account

我正在尝试使用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帐户。我已经在stackoverflowgerrit开发者网站上阅读了很多帖子,但没有任何内容对我有用。任何帮助表示赞赏。

修改 问题是在网址周围使用单引号'。现在有一个新问题:一旦我登录并返回我的网站,它说:
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。有什么想法吗?

2 个答案:

答案 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属性?