我正在使用oauth.io来处理安卓应用程序中的身份验证。我使用服务登录,然后将访问令牌传递给服务器。作为服务器端验证的一部分,我调用token={用户访问令牌}&access_token={app令牌}。我收到了一个带有错误消息的响应"(#100) input_token中的input_token与查看应用程序不匹配“。
我认为这意味着生成访问令牌的应用程序与我在请求中发送的应用令牌的所有者不同。经过进一步的检查,我注意到当我用Facebook的工具(https://developers.facebook.com/tools/debug/accesstoken)调试令牌时,我看到的是属于oauth.io本身的另一个应用id,而不是我的应用程序。由于应用令牌是基于应用程序id和应用程序机密的,所以如果它期望oauth.io的应用令牌,显然是不正确的。
是否有任何方法通过Facebook继续使用debug_token端点,并使用oauth.io生成的令牌?
发布于 2015-01-23 15:35:01
对不起,这有点晚了--但它可能仍然对你有帮助:)我也有同样的问题。在我的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模块进行处理)
https://stackoverflow.com/questions/27678356
复制相似问题