Я використовую 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, знаходяться в підтримуваному списку.