首页 > 解决方案 > Facebook 在 PHP 上检查令牌的有效性

问题描述

对于这个示例,我在 PHP 中使用 facebook 进行了授权https://developers.facebook.com/docs/php/howto/example_facebook_login/

Facebook 有测试文档 https://developers.facebook.com/docs/facebook-login/testing-your-login-flow/

以“6. 有人在使用 Facebook 登录您的应用后更改 Facebook 密码”为例。

为了实现这一点,我从会话中获取一个令牌并检查该令牌是否已过期。每次用户打开网站页面时,我都会这样做。

一切正常,例如当从 facebook 更改密码时,用户离开了会话。但是现在 facebook 已经做出了速率限制,当我检查过期令牌时,它很快就结束了。

我不明白这与我有什么关系。如何在 PHP 中检查令牌的有效性?请帮忙。

if(key_exists('fb_token', $_SESSION))
{
    $tokenMetadata = facebook()->getOAuth2Client()->debugToken(
        $_SESSION['fb_token']
    );

    if($tokenMetadata->getIsValid())
        return $_SESSION['fb_user_id'];

    return false;
}

标签: phpfacebook

解决方案


推荐阅读