当chrome中禁用第三方cookie时,FB.getLoginStatus不会返回正确的状态

FB.getLoginStatus is not returning correct status when third party cookies are disabled in chrome

本文关键字:getLoginStatus 返回 状态 FB chrome 第三方 cookie      更新时间:2023-09-26

我们遇到了一个非常奇怪的问题,如果我们禁用第三方cookie,我们的观察结果是,loggedin用户Facebook FB.getLoginStatus API返回错误状态为"未知",即"未登录"状态,但当我们的用户单击FB登录按钮时,用于登录的API(FB.login)被调用,该API返回正确状态,即"已连接",这意味着"用户已登录"

但当我们再次调用FB.getLoginStatus来检查我们网站其他页面的登录状态时,它会向我们显示错误的状态,导致我们的用户始终导航到登录页面。

您可以在Chrome浏览器上使用以下步骤来重现此问题,并检查API的的输出

  • 转到"设置"向下滚动到"隐私"
  • 打开内容设置弹出窗口
  • 打开"阻止第三方cookie和网站数据"
  • 您可以选择"允许设置本地数据(推荐)"

清空/清除"异常"answers"所有Cookie和站点数据"中的所有保存数据遵循这些步骤后,我们的网站snapviz将无法工作。要使其工作,只需关闭"阻止第三方cookie和网站数据"

有人能指导我们研究这些API的内部差异吗。或者在Chrome中处理第三方cookie阻塞场景的最佳方法是什么。

谢谢Rashmi

我没有通过API,但当遇到集成开放图API的类似问题时,我报告了facebook错误,并开始使用PHP SDK。您可以开始使用Facebook PHP SDK而不是Facebook JS SDK,直到问题得到解决。