Подтвердите токен доступа oauth.io facebook

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

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

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


person mattherman    schedule 28.12.2014    source источник


Ответы (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 (который в моем случае я обрабатываю с помощью Perl-модуля «JSON»)

person Andrew Newby    schedule 23.01.2015