/ / Як перенести користувачів Yahoo з OpenId в OAuth - google-app-engine, openid, federated-identity, yahoo-oauth

Як перемістити користувачів Yahoo з OpenId в OAuth - google-app-engine, openid, federated-identity, yahoo-oauth

Я використовую App Engine / java.

Мені потрібно перенести мої користувачі Yahoo з OpenID 2.0 до версії OAuth 2.0 (OpenID Connect), оскільки підтримка OpenID 2.0 Reallying Party для входу в облікові записи OpenID 2.0 в App Engine буде вимкнено.

Для моїх користувачів Yahoo я маю наступну інформацію в моєму храмі:

  • федеративна ідентичність: https://me.yahoo.com/a/...
  • адреса електронної пошти

Коли я здійснюю вхід в Yahoo за допомогою OAuth,Мені потрібно використовувати інформацію, надану процесом OAuth, для ідентифікації існуючого користувача в моєму храмі. Проте процес Yahoo OAuth не надає open-id (Yahoo не підтримує OpenId Connect) і не має адреси електронної пошти.

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

Примітка. Це чудово працює для входу в Google, оскільки Google підтримує OpenId Connect. У цьому випадку OpenId Connect / open-id == ідентифікатор OpenId / federated, що дає змогу перенести користувачів.

Відповіді:

1 для відповіді № 1

Один з можливих підходів - перейти на Google Identity Toolkit, який пропонує:

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

Єдиний недолік, який я бачу, це обмежена кількістьПідтримка GIT-підтримки (трохи подслащена підтримкою автентифікації на основі пароля). Не проблема, якщо постачальники, яким ви зацікавились, як, наприклад, Yahoo, знаходяться в підтримуваному списку.