2013-01-28 4 views
3

Я пытаюсь установить Gerrit с OpenID в качестве контроля доступа. Мне нужен мой google apps account, который будет использоваться как openID. Я попробовал пару способов добиться этого, но пока не последователен. Это то, что мой gerrit config выглядит следующим образом:Как настроить учетную запись Google Apps openId для Gerrit

[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 сайтах разработчиков, но ничего не сработало для меня. Любая помощь приветствуется.

EDIT: Проблема с использованием одинарные кавычки ' вокруг URL. Howerver теперь есть новый вопрос: После того, как я подписал в и вернуться на мой сайт он говорит:
The page you requested was not found, or you do not have permission to view this page

URL-адрес перенаправляется mysite.com/#SignInFailure,SIGN_IN,Provider+not+allowed. Есть идеи ?

ответ

1

После некоторого поиска и чтения документации я наткнулся на this commit. Я попробовал его в Gerrit 2.7-rc1, и он сработал.

Ваш Геррит конфигурации должен содержать следующее:

[auth] 
    type = OPENID 
    trustedOpenID = https://www.google.com/accounts/o8/id?id= 
    openIdDomain = @mysite.com 

Это позволяет мне войти в систему, используя любой OpenID включен адрес электронной почты в домене mysite.com и запрещает другие. Обратите внимание, что «@» должен быть там, где он не работает без него. ;-)

Кроме того, если вы хотите только, чтобы позволить Google в качестве поставщика OpenID вы можете захотеть установить следующее пропустить выбор поставщиков OpenID:

[auth] 
    type = OPENID_SSO 
    openIdDomain = @mysite.com 
    openIdSsoUrl = https://www.google.com/accounts/o8/id 

Documentation for Gerrit 2.6 также содержит эту информацию.

+0

Не работал для меня в Gerrit 2.9. Такая же ошибка 'OpenID auth request содержит незарегистрированный домен' – Harikrishnan

0

Вы установили свойство canonicalWebUrl в конфигурацию gerrit?

+0

Да, у меня есть. После аутентификации он возвращается на мой сайт: проблема в том, что он говорит, что «провайдер не разрешен». Сообщение 2011 года говорит, что он не поддерживается в gerrit: https://groups.google.com/forum/?fromgroups=#!topic/repo-discuss/qhUfy70BODY. Не уверен, что это все еще так. – aqs