Google oauth2 проблема миграции, отсутствует openid_id

Я заметил, что с недавнего времени мой сценарий «логин с Google» больше не работает правильно. После некоторой отладки кажется, что главная ценность openid_id больше не возвращается.

Я правильно получаю access_token id_token iss iat exp at_hash aud sub azp & email,

openid_id раньше была строка, такая как https://www.google.com/accounts/o8/id?id=AItOa....

Так я идентифицировал пользователей, и они были сохранены локально в моей базе данных.

Могу ли я получить openid_id ? Если так, то как?

Если openid_id в старой строке больше не будет доступно, как мы можем преобразовать новые идентификационные токены в старые? Чтобы я мог сопоставить их, старые пользователи все еще могут войти в систему.

0

Решение

Я думаю, что вы пострадали от амортизационного молотка.

веб-приложения, которые используют устаревший OpenID 2.0 для входа в Google,
см. OpenID 2.0 (устарел). Для получения информации об использовании
устарела аутентификация OpenID 2.0 с Google Apps (размещено)
учетные записи, см. API OpenID для учетных записей Служб Google (устарело).

График миграции говорит

Преобразование идентификаторов OpenID 2.0 в идентификаторы OAuth 2.0 будет работать до 1 января 2017 года.

Решение: Миграция с OpenID 2.0 на OpenID Connect

0

Другие решения

У меня такая же проблема с исчезнувшими openid_id. После «копания» в ответах API я заметил, что есть Эл. адрес параметр здесь. Тот же адрес электронной почты мы храним в базе данных, поэтому теперь мы можем связать существующие профили с новыми суб параметр на лету, и решить нашу проблему. По крайней мере, нет необходимости выяснять старый параметр openid_id.

0

По вопросам рекламы [email protected]