На самом деле, я только что натолкнулся на случай, когда изменился goog_id_id для моего тестового пользователя. Я подходил к завершению внедрения OpenID в мое приложение, и ни с того ни с сего заявленный идентификатор_оценки в данных ответа изменился.
Я тестировал эту учетную запись в течение последних нескольких недель, и требуемый_идентификатор был все время таким же, как и ожидалось. Тогда блин, изменился! Я много раз просматривал данные ответов, чтобы проверить, и основной код для извлечения данных не изменился.
Я не уверен, как справиться с этим в данный момент, но я думаю, что это бросит меня в тупик. После первоначальной аутентификации пользователи регистрируются на сайте (как и следовало ожидать) и настраивают отображаемое имя. Как мы можем убедиться, что это тот же пользователь, если требуемый_ид изменился? Мы, конечно, не можем использовать адрес электронной почты в соответствии с лучшими практиками.
EDIT
Теперь у меня пирог на лице! Я пропустил одну маленькую деталь, которая оказалась главной. Я изменил свою среду разработки и размещал на другом v-хосте. Это эффективно изменит область, и это изменит ответ требуемого_идида в соответствии с документами.
Это был хороший урок для меня, так как я собирался реализовать OID на поддомене, в котором область автоматически устанавливалась в моем коде. Теперь я избавил себя от головной боли, потому что я не смог бы использовать одну и ту же базу данных пользователей во всех других поддоменах, не нарушая идентичность.
обновление области
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
В качестве дополнительного примечания - даже если вы разрабатываете свое решение OpenID для одного из своих поддоменов, вам может быть целесообразно указать область для домена верхнего уровня.
например, openid.realm = http://*.yourdomain.com
Это позволит вам расширить страницу входа на все ваши субдомены и сохранить идентичность пользователей в них.
(необязательно) Область с проверкой подлинности. Определяет домен, который конец
пользователя просят доверять. (Пример: "http://*.myexamplesite.com")
Это значение должно соответствовать домену, определенному в
openid.return_to. Если этот параметр не определен, Google будет использовать
URL-адрес, указанный в openid.return_to.