2

我有一个用户通过FB和Gmail登录的网站,如果A先生通过Facebook来并在网站上成功登录,那么假设他退出并通过Gmail登录,我不会将他视为新用户但是我会将旧用户 ID 分配给他,因为这是同一个人。所以我认为的解决方案是在用户计算机上放置一个 cookie 并检查他是否是现有用户,这样我们就不会再次注册他,但 cookie 的问题可能是用户清除/关闭浏览器 cookie,从其他 PC 登录。我不知道处理这种情况的最佳场景是什么? 另一个例子可以在登录 Stackoverflow 时使用 Gmail 登录或 Yahoo.etc 任何帮助

4

1 回答 1

0

我看到这个的方式是你有两个选择:

饼干

您可以在客户端机器上设置一个 cookie,按照您的建议有效链接两个帐户...

缺点

  1. 如果您使用不同的帐户登录另一台计算机,则不会链接这两个帐户。
  2. 无论如何,实际上并没有说通过 Facebook 登录的人和通过 Google 登录的人实际上是同一个人。您唯一能知道的方法是通过电子邮件地址,但这可能会导致混淆。

开放ID

Open ID 是一项服务,可让您有效地使用任何“主要”帐户登录,包括 Facebook、Google、Yahoo、Microsoft、AOL 等...

有关 OpenID 的更多信息,请参见此处

它完全符合您的要求,但它为您做到了......

我很感激您可能已经在您的网站上编写了 Facebook 和 Google 的登录信息,但是管理和处理错误的压力远远超过在您的网站上实施 OpenID 库所需的时间。

请参阅这些 PHP 库以在您的站点上实现 OpenID 功能:

将其集成到您的站点中确实不会花费很长时间,并且它将消除必须从自定义登录中处理 cookie 等的压力...

于 2013-09-10T12:00:33.153 回答