我正在使用django-social-auth登录我的网站登录facebook。 这给我带来了一个问题,如下所示。 1.首次登录时,我的网站将重定向到Facebook登录对话框。 2.在正确的登录详细信息,它将登录到我的网站。 3.现在,如果我要退出我的网站,我将被正确识别为访客。 4.但是再次点击登录facebook时,我会直接登录,而不会像之前登录的用户那样使用facebook对话框。
在进一步的研究中,我意识到当我用facebook登录我的网站时,我也会登录到facebook.com。当我退出我的网站时,它只会让我退出我的网站,但仍然保持facebook.com登录。我明白这就是之前登录的用户只需重新登录而无需输入任何用户名的原因/密码。
据我所知,这有助于一些用户案例。就像我已登录facebook.com并点击facebook登录mysite一样,我直接登录,无需任何用户名/密码详情。
互联网上提到的最常见解决方案(也可在stackoverflow上使用)是使用注销重定向或javascript方法手动注销facebook.com。 但如果用户在另一个标签中手动登录facebook.com或者用户使用Facebook登录到另一个网站,则会出现问题。
facebook以这种方式实施'facebook for website'的可能性是什么。
我发现一个部分正确的解决方案是在我的网站上登录时检查登录对话框是否出现,并根据这些数据,手动退出Facebook,如果我的网站首先登录登录。但这是一个部分解决方案,因为它可能仍然会将用户退出其他网站,包括Facebook,即使他可能打算留在那里。 目前我将继续这样做,因为它似乎更符合谷歌在其在线应用程序(gmail,阅读器,文档等)中实施的内容。
但我仍在寻找更好的解决方案。
如果我们在登录过程中可以避免登录facebook.com,那么最佳解决方案就是。
等待想法和想法。
答案 0 :(得分:1)
不是你问题的核心部分,但......:
当我退出我的网站时,它只会让我退出我的网站,但仍会保持facebook.com的登录状态。
如果是这种情况,那么你就是错误。
Facebook’s policies实际要求您提供一个按钮,可以同时将用户从您的网站和退出Facebook(请参阅 I。功能和功能,项目#6 )