2011-12-15 2 views
2

В частности, меня интересует проверка заявленного идентификатора. В инструкциях Google говорится о получении метаданных из домена в заявленном идентификаторе, который будет содержать ссылку на документ XRDS. В Google Apps, что мета-файл будет найден наКакие части обнаружения для приложений google apps не относятся к спецификации open-id?

http://example.com/.well-known/host-meta или https://www.google.com/accounts/o8/.well-known/host-meta?hd=example.com

Мой вопрос состоит в оба этих хост-мета трактов, которые Google дополнения к спецификации или только последний? Мы пытаемся обновить одну из стандартных библиотек open-id, чтобы правильно ее поддерживать, и мы хотим сохранить код, поддерживающий дополнения Google, соответствующим образом разделенные.

Я не могу найти ссылку на ".well-known/host-meta" в файле спецификаций open-id.

ответ

1

Сам протокол в основном является стандартным. /.well-known/host-meta является частью спецификации LRDD для обнаружения. Уловка с Google Apps связана с тем фактом, что в немногих, если они есть, доменах размещаются собственные данные об обнаружении, поэтому попытка обнаружить поставщика домена, например example.com, не удалась. Таким образом, у Google есть альтернативное место для файла метаданных хоста, о котором должны знать сотрудники OpenID, которые хотят поддерживать Google Apps.

Кроме того, если вы проверяете подписи на этих внешних файлах XRDS, вы должны разрешить host-id.google.com как действительный подписчик. Обычно вы проверяете, что тема сертификата подписи совпадает с доменом, который вы открываете, но поскольку Google подписывается от имени целевого домена, необходима дополнительная проверка.

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

PHP: PHP-OpenId + http://code.google.com/p/php-openid-apps-discovery/

Ruby: рубин -openid + http://code.google.com/p/ruby-openid-apps-discovery/

.NET: DotNetOpenAuth (встроенный)

Java: openid4java + http://code.google.com/p/step2

Python: https://github.com/adieu/python-openid

+0

и теперь есть также Lib для NodeJS –

+0

Питон-прощай с использованием Вконтакте не 100% в курсе питона-проекта базы OpenID (https://github.com/openid/python -openid), потому что это отдельный репозиторий, а не вилка. Я объединил эти два проекта здесь https://github.com/mpdaugherty/python-openid-with-google-apps, а также откроет запрос на перенос обратно в основной проект python-openid. – mpdaugherty