【问题标题】:Verify oauth.io facebook access token验证 oauth.io facebook 访问令牌
【发布时间】:2015-02-25 00:27:03
【问题描述】:

我正在使用 oauth.io 来处理 Android 应用程序中的身份验证。我使用该服务登录,然后将访问令牌传递给服务器。作为服务器端验证的一部分,我调用了https://graph.facebook.com/debug_token?input_token={user access token}&access_token={app token}。我收到错误消息“(#100)input_token 中的 App_id 与查看应用程序不匹配”的响应。

我认为这意味着生成访问令牌的应用与拥有我在请求中发送的应用令牌的应用不同。经过进一步检查,我注意到当我使用 Facebook 的工具 (https://developers.facebook.com/tools/debug/accesstoken) 调试令牌时,我看到了一个不同的应用程序 ID,它属于 oauth.io 本身而不是我的应用程序。由于 app 令牌基于 app id 和 app secret,如果它期待 oauth.io 的 app 令牌显然是不正确的。

有没有办法通过 Facebook 继续使用 debug_token 端点以及 oauth.io 生成的令牌?

【问题讨论】:

    标签: facebook-graph-api oauth.io


    【解决方案1】:

    对不起,这有点晚了 - 但它仍然可以帮助你:) 我遇到了同样的问题。在我的 perl 代码中,我只是这样做了:

        use LWP::Simple;
        my $check_session_first = LWP::Simple::get("https://graph.facebook.com/me?access_token=$in->{token}");
    
        if (!$check_session_first) {
            print $IN->header;
            print Links::SiteHTML::display('error', { error => qq|Sorry, we couldn't log you in. |});
            return;
        }
    

    基本上,如果 $check_session_first 为空,则表示会话无效。如果它有效,它将返回一个 JSON 对象(在我的例子中,我使用“JSON”perl 模块进行处理)

    【讨论】:

      猜你喜欢
      • 2012-01-26
      • 1970-01-01
      • 2015-07-16
      • 2012-09-18
      • 2013-01-10
      • 2012-01-19
      • 2014-05-01
      • 1970-01-01
      相关资源
      最近更新 更多