我正在使用PHP和JavaScript SDK并看到以下问题:
我已登录,设置了fbsr_ * cookie,关闭浏览器,重新打开它并转到我的应用程序。 cookie仍然设置,因此应用程序通过PHP的$ _COOKIE变量得到它,Facebook类能够提取用户并进行API调用。
问题是,只要在浏览器中显示页面并调用FB.init,就会取消设置cookie(通过FB.Cookie.clearSignedRequestCookie()),并且在后续请求中,用户将突然变为退出。
我想问题是,cookie仍然有效,尽管用户的状态实际上与“登录”不同,后者由JavaScript SDK检测并“修复” - 但如何在PHP中检查此状态?我真的想避免对登录URL进行昂贵的调用并解析响应或将用户发送到那里......
你怎么看?我在这里错过了什么吗?解决这个问题的最佳方法是什么?此致
答案 0 :(得分:0)
只要您依赖外部方作为身份验证提供程序,确保用户登录的唯一方法就是询问提供商。
你只能通过拨打Facebook来做到这一点,没有其他方法来检查这一点。 JS-SDK完全相同,以检测用户是否已登录。