Домен Google Apps в качестве поставщика OpenID

  1. Как сделать мой Google Apps домен поставщиком OpenID . Есть ли документация, учебник, рабочий пример чего-нибудь?

  2. Как аутентифицировать пользователей в моем собственном приложении с использованием аутентификации домена Google Apps (я имею в виду без OpenID). Я слышал, что это что-то о gdata api, но я не знаю, с чего начать. Есть ли какие-нибудь полезные руководства или рабочие примеры?

Я хотел бы узнать о бесплатных решениях или решениях с открытым исходным кодом.


person Alex Bolotov    schedule 29.07.2009    source источник


Ответы (4)


Вам не нужно делать ничего, чтобы сделать ваш домен Google Apps провайдером openid. НО, специальная служба OpenID Google для приложений для доменов требует, чтобы проверяющие стороны OpenID реализовали специальный (проприетарный) механизм обнаружения, а большинство RP этого не делают [пока]. Так что, если вы проверяете это, это не сработает.

Один из способов тестирования - перейти к RP OpenID, использующей RPXNow. RPX - одна из тех RP, которые действительно принимают новый механизм обнаружения Google. jyte.com например. Попробуйте авторизоваться там.

person Andrew Arnott    schedule 30.07.2009
comment
Это уже не так. Бесплатные клиенты не получают openid, и вам нужно явно включить его. Из code.google.com/googleapps/domain/sso/: Примечание. Служба объединенного входа отключена по умолчанию для Профессионального пакета Служб Google и Пакетов для учебных заведений. Администратор домена может включить его из панели управления по адресу google.com/a. / cpanel / ‹your-domain› / SetupIdp. - person Leopd; 24.07.2010

Что касается вопроса № 1, я работал над этим последние несколько дней.

Посмотрите здесь: Как делегировать свой OpenId в Google Apps

Похоже, что Google не разрешает делегирование, поэтому вы не можете просто поместить метаинформацию в заголовок документа. Я считаю, что вам нужно создать файл с именем yourdomain.com/.well-known/host-meta, который указывает на файл XRDS на сервере Google. Это лучше объяснено в обнаружении. Страница API. Извините, это весь жаргон, но я не знаю, как это объяснить.

Для тестирования федеративного OpenID Google попробуйте: http://www.puffypoodles.com/

Проблема делегирования решается лучше в группе Google для API федеративного входа OpenID.

Что касается вопроса № 2, то API федеративного входа в систему обеспечивает качество OAuth, так что вы можете извлекать информацию о пользователе, использовать токены аутентификации и т. Д. Проверьте API федеративного входа.

Надеюсь, это поможет.

person Mike Meyer    schedule 05.08.2009

Их служба федеративного входа OpenID выглядит как место, с которого нужно начать. Он основан на OpenID и позволяет пользователям входить на ваш сайт с помощью своего идентификатора Google Apps. Похоже, он не поддерживается в стандартной версии Google Apps.

http://code.google.com/apis/apps/sso/openid_reference_implementation.html

Существует также структура единого входа, которая не использует OpenID, что может быть ответом на №2.

http://code.google.com/apis/apps/open_source_projects.html#sso

person David Smith    schedule 29.07.2009

Об OpenID писали многие, поэтому я отвечу на ваш второй вопрос.

ClientLogin - это API, который вам нужен.

http://code.google.com/googleapps/domain/gdata_provisioning_api_v2.0_developers_protocol.html#client_login

Обратите внимание, что приведенная выше ссылка взята из документации по API подготовки, но она не зависит от доступа к API подготовки, а именно там, где сейчас находится эта информация.

Там много примеров на разных языках.

Предостережения:

  • нет единого входа для этого
  • Гуглу вы не понравитесь (они пытаются убить ClientLogin)
  • вы будете получать случайные сбои Captcha, и вам придется разбираться с ними
person Jan Z    schedule 05.07.2011