【问题标题】:Facebook PHP: check access_token, when user is offlineFacebook PHP:当用户离线时检查 access_token
【发布时间】:2013-07-28 22:12:08
【问题描述】:

当用户当前离线时,如何从我的网站检查用户的access_token是否有效? (或者甚至登录的用户不是我想要检查的用户?)

大多数关于检查 token_access 的教程都适用于使用路径“/me”的当前登录用户。

但我想检查我的 FB 应用程序的任何用户。 我需要一个像(伪代码)这样​​的方法

$facebook->checkAccessToken($token);

我已经在我的数据库中保存了用户的令牌,我想从 fb 获得反馈,令牌是否仍然有效。

【问题讨论】:

    标签: php facebook access-token


    【解决方案1】:

    试试这个

    $url = 'https://graph.facebook.com/debug_token?input_token='.$USER_TOKEN.'&access_token='.$APP_TOKEN;
    $a = file_get_contents($url);
    

    【讨论】:

    【解决方案2】:

    离线访问已被弃用,不再存在。现在要走的路是扩展短期访问令牌。

    https://developers.facebook.com/docs/facebook-login/access-tokens/

    查看“到期和扩展令牌”一章。基本上,您必须查询图形 API 并发送一些特定于应用程序的参数。你即将获得的是你的万岁令牌。

    GET /oauth/access_token?  
    grant_type=fb_exchange_token&           
    client_id={app-id}&
    client_secret={app-secret}&
    fb_exchange_token={short-lived-token} 
    

    (取自官方文档)

    请注意,即使是长期存在的令牌也会随时过期。使用 Graph API 浏览器获取有关访问令牌的详细信息。

    肉和土豆不是希望你生成一个不会过期的令牌,而是希望你的令牌过期后有一个干净的身份验证流程。对过期令牌实施检查。在用户下次访问时刷新令牌。这样就成功了一半!

    编码愉快!

    【讨论】:

    • 大声笑我注意到我完全错过了你提问的目的。对此感到抱歉。在这种情况下,大卫的回答是完全正确的。如果您要接受正确的答案,请选择 davids。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多