1

我正在使用 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/ ...
  • 电子邮件地址

当我使用 OAuth 通过 Yahoo 实现登录时,我需要使用 OAuth 进程提供的信息来识别我的数据存储中的现有用户。但是,Yahoo OAuth 进程不提供 open-id(Yahoo 不支持 OpenId Connect)和电子邮件地址。

那么如何将现有的 Yahoo 用户从 OpenId 迁移到 OAuth?建立链接和执行迁移的两种机制之间的共同信息是什么?

备注:这适用于使用 Google 登录,因为 Google 支持 OpenId Connect。在这种情况下,OpenId Connect / open-id == OpenId / federated identity,这使得迁移用户成为可能。

4

1 回答 1

1

一种可能的方法是切换到 Google Identity Toolkit,它提供:

  • 特定提供商的联合登录处理细节对您来说几乎是透明的
  • 一种将特定提供商认证的用户从现有方法逐步迁移到 GIT 方法的方法,请参阅“通过 5 个步骤迁移现有站点”部分。

我看到的唯一缺点是 GIT 支持的提供程序数量有限(通过支持基于密码的身份验证有点甜)。如果您感兴趣的提供商(如 Yahoo)在受支持的列表中,则不是问题。

于 2015-11-03T11:34:33.180 回答