如何将两个OpenID提供程序关联为同一用户

时间:2011-01-03 04:15:23

标签: openid rpx

我在我的网站上实现了OpenID,我很好奇stackoverflow.com等网站如何判断我的Gmail帐户是否与我的Facebook帐户相关联。

E.g。我第一次来到stackoverflow.com并使用我的Gmail帐户登录。然后我注销,从我的浏览器清除cookie并返回stackoverflow.com但这次我使用facebook而不是gmail登录。不知何故,stackoverflow.com知道我的Facebook帐户已链接到我的Gmail,因为我的所有用户设置都是从​​我第一次使用gmail登录时恢复的。所以很明显stackoverflow知道我的gmail和facebook账户都是我。

回到我的实现:当我使用gmail或facebook登录我的用户时,我会从RPX回复一些用户信息,例如他们的姓名和电子邮件地址。如果我的用户使用他们的Gmail帐户joe@gmail.com登录我的网站,然后使用他们的Facebook和他们的Facebook帐户登录也使用joe@gmail.com它们实际上是安全的同一个人?

这是其他人如何实现同一目标吗?

1 个答案:

答案 0 :(得分:2)

我会说 可以安全地假设两个拥有相同电子邮件地址的人是同一个用户。

另一种方法是提供链接您网站上两个帐户的功能。我的意思是说我已经看到了社交认证的实施,如果你使用OpenID或Facebook登录,每个都是一个单独的实体。在用户尝试使用其他系统登录之前,您可以提示他们连接到他们的Facebook / Twitter / OpenID帐户。一点社会工程可能会为您节省很多问题。如果连接,您当然会遇到问题,然后继续单独登录。在我的头顶,TripIt允许您将单独的帐户合并为一个。您可以提供此功能。

只是一些想法。