2010-09-08 4 views
3

Как я могу позволить пользователям войти в мое веб-приложение со своей учетной записью Google и проверить, что они вошли в систему из определенного домена Google Apps?Ограничение входа в учетную запись Google в указанном домене приложений

Предоставляет ли hd parameter службе авторизации Google, что для входа в систему может использоваться только выбранный домен?

Или я могу получить зарегистрированный электронный адрес пользователя и подтвердить, что он заканчивается на «@ domain.com»? Это не похоже на такую ​​хорошую идею.

После входа в систему мне также необходимо получить доступ к контактам пользователей Google, которые, согласно документации, требуют AuthSub proxy authentication.

ответ

1

Посмотрите на предлагаемые другими документами OpenID. Вкратце, вам необходимо перенаправить пользователя на пользовательский URL-адрес входа на основе их имени домена - то есть вам нужно узнать свое доменное имя перед перенаправлением, т. Е. Ваш параметр hd, который действительно заставляет логин в указанном домене

Это также требуется для поддержки единого входа в домены Google Apps, где аутентификация для пользователя не обрабатывается Google, а службой сторонних производителей.

Обязательно проверьте поставщик openID, а не только доменное имя адреса электронной почты, как только вы получите информацию об аутентификации.

-1

Кажется, я могу использовать OpenID + OAuth Гибридный протокол как для идентификации пользователя и получить маркер доступа к API данных, как описано в this blog post.

Редактировать: обновлена ​​мертвая ссылка для сообщения в блоге.

См. this question для получения информации о том, как получить адрес электронной почты пользователя с помощью OpenID. Наверное, я могу проверить, что он заканчивается правильным доменным именем.

+0

Ссылка была мертвой. Вот почему вы всегда должны указывать связанный материал на SO. – bouke

+0

@bouke, я обновил ссылку. Было не так сложно найти ту же почту в другом домене. –

-1

Вы можете использовать OpenID оконечные для доменов Служб Google, как описано здесь: http://groups.google.com/group/google-federated-login-api/web/openid-discovery-for-hosted-domains

В зависимости от вашей библиотеки OpenID, вы можете/не может быть в состоянии использовать его, хотя. Например, openid4java еще не поддерживает его.

+0

Ссылка пошла мертвой. Вот почему вы всегда должны указывать связанный материал на SO. – bouke

Смежные вопросы