为什么FB.login没有删除注销cookie?

问题描述 投票:2回答:2

我有Facebook身份验证逻辑的问题:

  1. 在主页加载时,我调用getLoginStatus(),如果我得到"connected",我将用户重定向到他的帐户页面。如果没有,用户可以单击调用FB.login()的登录按钮。
  2. 如果用户已登录然后导航回主页(整页加载),则getLoginStatus()会按预期返回"connected",并且用户会被退回到帐户页面。
  3. 但是,当登录用户调用FB.logout()并重复步骤1-2时,第二步将始终产生"unknown"登录状态。所以,FB.logout()基本上打破了我的弹跳逻辑。

我检查了登录/注销调用的机制,看来FB.logout()创建了一个fblo_<appId> cookie,1年到期,阻止getLoginStatus()返回正确的状态。这似乎是让人们退出的实际机制,我可以理解。但是,我无法理解的是:为什么在成功的FB.login()通话中没有删除此cookie?

javascript facebook facebook-javascript-sdk facebook-authentication session-management
2个回答
0
投票

我通过以编程方式删除FB.login()和FB.logout()的回调函数中的cookie qazxsw poi来自行修复它


-1
投票

我几天前经历过这个,但我不再看到这个问题了。

在任何一种情况下,请确保在测试时考虑以下不同的情况:

一个人登录Facebook,然后登录到您的应用程序。从您的应用程序注销后,此人仍然登录到Facebook。

作为应用程序登录流程的一部分,一个人登录到您的应用程序并进入Facebook。从您的应用程序注销后,该用户也将退出Facebook。

一个人登录到另一个应用程序并进入Facebook作为其他应用程序登录流程的一部分,然后登录到您的应用程序。从任一应用程序注销后,用户将退出Facebook。

fblo_<appid>


调试提示:

在Chrome的“应用程序”标签中,您可以在左侧面板中选择Cookie,然后在搜索框中键入https://developers.facebook.com/docs/reference/javascript/FB.logout/以按该名称进行过滤。当我打电话给fblo并成功验证时,我发现FB.login cookie消失了 - 所以我相信这个问题已经解决了。

fblo

© www.soinside.com 2019 - 2024. All rights reserved.