Ответ 1
Идентификатор Google OpenID является более или менее хэшированным представлением нескольких данных, включая хост, из которого пришел запрос (точнее, параметр openid.realm
, отправленный поставщику). Поэтому, если ваш хост меняет время от времени (например, изменения порта и ip-адреса), тогда идентификатор также будет меняться время от времени. StackOverflow также использует обходной путь для этой проблемы. Проверьте эти сообщения:
Вот фрагмент часто задаваемых вопросов из google:
В: Спецификация OpenID говорит о том, что
openid.realm
является необязательным, и если он не указан, Google должен использовать вместо этого URLopenid.return_to
. Будет ли это работать?A: Он будет работать в том смысле, что протокол завершится успешно. Но если ваш
return_to
URL-адрес похож наwww.example.com/authenticate?style=openid-federated_login
, вы просите нас предложить пользователям одобрить и доверять конкретный адрес вашего сайта, что не является удобным для пользователя. Кроме того, если вы опустите параметрopenid.realm
, вы никогда не сможете изменить URL-адресreturn_to
: он также неявно изменит область и идентификаторы URL ваших пользователей учетной записи Google.