如何在php-sdk中检查有效的会话cookie?

时间:2012-03-18 12:49:36

标签: facebook-php-sdk session-cookies

我正在使用PHP和JavaScript SDK并看到以下问题:

我已登录,设置了fbsr_ * cookie,关闭浏览器,重新打开它并转到我的应用程序。 cookie仍然设置,因此应用程序通过PHP的$ _COOKIE变量得到它,Facebook类能够提取用户并进行API调用。

问题是,只要在浏览器中显示页面并调用FB.init,就会取消设置cookie(通过FB.Cookie.clearSignedRequestCookie()),并且在后续请求中,用户将突然变为退出。

我想问题是,cookie仍然有效,尽管用户的状态实际上与“登录”不同,后者由JavaScript SDK检测并“修复” - 但如何在PHP中检查此状态?我真的想避免对登录URL进行昂贵的调用并解析响应或将用户发送到那里......

你怎么看?我在这里错过了什么吗?解决这个问题的最佳方法是什么?

此致

1 个答案:

答案 0 :(得分:0)

只要您依赖外部方作为身份验证提供程序,确保用户登录的唯一方法就是询问提供商。

你只能通过拨打Facebook来做到这一点,没有其他方法来检查这一点。 JS-SDK完全相同,以检测用户是否已登录。

相关问题