Конечная точка Google Apps OpenID выдает ошибки, но стандартная конечная точка Google с учетной записью Apps работает - что дает?

Я создаю сайт, на котором люди из организации будут входить в систему с учетными записями Google Apps, предоставленными своей организацией. Сайт использует стандартный образец кода OpenID DotNetOpenAuth для аутентификации с поставщиком Google OpenID.

OpenID включен в этом домене Google Apps, но когда я пытаюсь аутентифицировать пользователя через конечную точку https://google.com/accounts/o8/site-xrds?hd=domain.com, я получаю следующую ошибку:

Ошибка при отправке прямого сообщения или получении ответа.

Однако если я использую стандартную https://www.google.com/accounts/o8/id конечную точку и вхожу в свою учетную запись Google Apps, она работает!

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


person Maxim Zaslavsky    schedule 11.02.2013    source источник


Ответы (1)


Службы Google не полностью соответствуют протоколу OpenID 2.0. У него есть собственный механизм обнаружения, который DotNetOpenAuth не включен по умолчанию.

Посмотрите образец из SourceForge в файле loginGoogleApps.aspx проекта OpenIdRelyingPartyWebForms. Вы увидите, что его программный код добавляет обнаружение Google Apps в класс OpenIdRelyingParty. Если вы сделаете это, я думаю, это сработает и для вас.

person Andrew Arnott    schedule 11.02.2013