为什么'Facebook for websites'登录,也登录 facebook.com?



我正在使用django-social-auth通过Facebook登录登录我的网站。这给我带来了一个问题,如下所示。1. 首次登录时,我的网站会重定向到脸书登录对话框。2.在正确的登录详细信息上,它将登录到我的网站。3.现在,如果我退出我的网站,我将被正确识别为访客。4.但是再次单击使用Facebook登录时,我将直接登录,而无需Facebook对话框作为先前登录的用户。

经过进一步的研究,我意识到当我使用Facebook登录我的网站时,我也会被登录 facebook.com。当我注销我的网站时,它只会将我从我的网站注销,但仍保持登录 facebook.com。我明白这就是以前登录的用户无需输入任何用户名/密码即可重新登录的原因。

我知道这有利于某些用户案例。就像我已经登录 facebook.com 并在mysite上单击Facebook登录一样,我直接登录而无需任何用户名/密码详细信息。

互联网上提到的最常见的解决方案(也可以在stackoverflow上使用)是使用注销重定向或javascript方法手动注销 facebook.com。但是,如果用户在另一个选项卡中手动登录 facebook.com 或者如果用户使用Facebook登录到另一个网站,这将成为一个问题。

Facebook以这种方式实施"网站Facebook"的可能原因是什么?

我认为部分正确的一种解决方案是在登录我的网站时检查登录对话框是否出现,并根据这些数据手动注销 facebook,如果我的网站首先导致登录。但这是一个部分解决方案,因为它仍然可以将用户从包括Facebook在内的其他网站注销,即使他可能打算留在那里。目前,我将继续这样做,因为它似乎更符合Google在其在线应用程序(Gmail,阅读器,文档等)中实现的内容。

但我仍在寻找更好的解决方案。

最好的解决方案当然是我们可以避免在登录过程中 facebook.com 登录。

等待思想和想法。

不是你问题的核心部分,但是......:

当我退出我的网站时,它只会将我从我的网站注销,但仍保持登录 facebook.com。

如果是这样的话,那么你做错了

Facebook

的政策实际上要求您提供一个按钮,该按钮可以同时将用户从您的网站和Facebook中注销(请参阅第一节特性和功能,项目#6

最新更新