【问题标题】:Facebook api('/me','GET') returns the user data even after logoutFacebook api('/me','GET') 即使在注销后也会返回用户数据
【发布时间】:2013-02-28 01:47:27
【问题描述】:

在我当前的项目中,我使用api('/me','GET') 来检索当前登录用户的用户数据。我的项目有一个与 Facebook 用户同步的选项,我也可以停用同步,问题是即使我退出 Facebook 并更改 Facebook 用户并再次同步,它仍然返回以前的用户数据。

这是代码的sn-p:

$user_profile = $facebook->api('/me','GET');

$fname = $user_profile["first_name"];

我正在使用$fname 显示同步后的 Facebook 用户的名字,场景是:

*我的项目现在已同步到我的 Facebook 用户,然后我退出我的 Facebook 并重新同步我的项目。然而,它显示了我之前使用的用户的名字。

我似乎无法理解为什么它会保留以前用户的用户数据,它与新 Facebook 用户同步的唯一时间是我注销并重新登录我的网站项目时。顺便说一句,我正在使用 PHP SDK。

【问题讨论】:

  • 放一些代码解释流程
  • 谢谢!这回答了它。

标签: php facebook facebook-graph-api sdk facebook-php-sdk


【解决方案1】:

这可能是因为access_token 仍然有效。令牌通常保存在 cookie 中,因此即使用户从 Facebook 注销,此 cookie 仍然可用并且令牌保持有效,因为它没有链接到正在登录或退出 Facebook 的用户,而是与您的应用程序相关联,直到过期了。

因此,您可以手动删除 cookie,以便您的应用在用户注销后无法访问它。或者您可以通过向“/me/permissions”发送DELETE 请求来使访问令牌无效。

我不能 100% 确定,但在使用 JS SDK 时这个过程是自动的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多