2014-12-28 3 views
0

Я использую oauth.io для проверки подлинности в приложении для Android. Я вхожу в систему с помощью службы, а затем передаю токен доступа на сервер. Как часть проверки на стороне сервера, я делаю вызов https://graph.facebook.com/debug_token?input_token= {токен доступа пользователя} & access_token = {appkenken}. Я получил ответ с сообщением об ошибке »(# 100) App_id в input_token не соответствовал« Просмотр приложения ».Проверить oauth.io facebook token

Я понял, что приложение, создавшее токен доступа, не совпадает с приложением, которому принадлежит токен приложения, который я отправлял в запросе. При дальнейшей проверке я заметил, что когда я отлаживал токен с помощью инструмента Facebook (https://developers.facebook.com/tools/debug/accesstoken), я видел другой идентификатор приложения, который принадлежал самому oauth.io, а не моему приложению. Поскольку токен приложения основан на тайне приложения и приложения, это, очевидно, было бы неверным, если бы ожидал маркер приложения oauth.io.

Есть ли способ продолжить использование конечной точки debug_token через Facebook с помощью токена, созданного oauth.io?

ответ

0

Простите, что это немного поздно - но это все равно может помочь вам :) У меня была та же проблема. В моем 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 (который в моем случае я обрабатываю с использованием модуля perl «JSON»)