验证oauth.io facebook访问令牌



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

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

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

很抱歉,这有点晚了,但它仍然可能对您有所帮助:(我也遇到了同样的问题。在我的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模块处理它(

相关内容

  • 没有找到相关文章

最新更新