Сам протокол в основном стандартный - например, /.well-known/host-meta является частью спецификации LRDD для обнаружения. Подвох со Службами Google связан с тем фактом, что лишь немногие домены, если таковые имеются, размещают свою собственную информацию об обнаружении, поэтому попытка найти провайдера для домена, подобного example.com, не удастся. Таким образом, у Google есть альтернативное местоположение для метафайла хоста, о котором нужно знать RP OpenID, которые хотят поддерживать Google Apps.
Кроме того, если вы проверяете подписи в этих внешних файлах XRDS, вам нужно разрешить hosted-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