Как перенести пользователей Yahoo из OpenId в OAuth

Я использую App Engine / Java.

Мне нужно перенести пользователей Yahoo с OpenID 2.0 на OAuth 2.0 (OpenID Connect), поскольку поддержка проверяющей стороны OpenID 2.0 для входа в систему с учетными записями OpenID 2.0 в App Engine будет отключена.

Для моих пользователей Yahoo у меня есть следующая информация в моем хранилище данных:

  • федеративная идентификация: https://me.yahoo.com/a/...
  • адрес электронной почты

Когда я выполняю вход в Yahoo с помощью OAuth, мне нужно использовать информацию, предоставленную процессом OAuth, для идентификации существующего пользователя в моем хранилище данных. Однако процесс Yahoo OAuth не предоставляет открытый идентификатор (Yahoo не поддерживает OpenId Connect) и не имеет адреса электронной почты.

Итак, как я могу перенести существующих пользователей Yahoo из OpenId в OAuth? Какова общая информация между обоими механизмами для создания связи и выполнения миграции?

Примечание. Это хорошо работает при входе в Google, поскольку Google поддерживает OpenId Connect. В этом случае OpenId Connect / open-id == OpenId / объединенная идентификация, которая позволяет мигрировать пользователей.

1 ответ

Одним из возможных подходов является переход на Google Identity Toolkit, который предлагает:

  • особенности обработки федеративного входа в систему для конкретного провайдера
  • способ постепенной миграции пользователей, аутентифицированных конкретным поставщиком, из существующего метода в метод GIT, см. раздел "Миграция существующего сайта за 5 шагов".

Единственный недостаток, который я вижу, - это ограниченное количество провайдеров, которые поддерживает GIT (немного подсластило поддержка аутентификации на основе паролей). Не проблема, если в списке поддерживаемых есть такие провайдеры, как Yahoo.

Другие вопросы по тегам