2

我已经在我的网站上实现了 OpenID,我很好奇诸如 stackoverflow.com 之类的网站如何知道我的 gmail 帐户已链接到我的 facebook 帐户。

例如,我第一次来到 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,那么他们实际上就是同一个人?

这是其他人实现相同目标的方式吗?

4

1 回答 1

2

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

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

只是一些想法。

于 2011-01-03T04:23:37.270 回答