Facebook OAuth 2.0 “код” и “маркер”

Почему делают Вам нужны и "код" и в "маркер" в потоке аутентификации Facebook OAuth2, как описано здесь: https://developers.facebook.com/docs/authentication/?

При рассмотрении диалоговой ссылки OAuth (https://developers.facebook.com/docs/reference/dialogs/oauth/), на Вас кажется, что только когда-либо используют маркер для выборки информации о пользователе, и если Вы указываете response_type параметр как token или code,token, затем Вы получаете маркер на первом разе.

Почему необходимо получить "код" и затем использовать код для получения "маркера" в противоположность получению маркера непосредственно?

Я предполагаю, что неправильно понимаю что-то основное о том, как OAuth работает, но кажется предотвращением запроса к https://graph.facebook.com/oauth/access_token полностью, если Вы получаете маркер в первый раз с диалоговым окном.

61
задан 26 August 2015 в 08:42

1 ответ

В OAuth 2.0 с Facebook полное понятие просто следующие.

Шаг 1. Получите "Код авторизации" ПОЛУЧИТЬ запросом

request URI: https://www.facebook.com/dialog/oauth
Params:
    response_type=code
    client_id={add your "App id" got by registering app}
    redirect_uri={add redirect uri defined at the registration of app}
    scope={add the scope needed in your app}
Headers: None

Шаг 2. Получите "Маркер доступа" путем отправки кода авторизации как запроса POST

    URI: https://graph.facebook.com/oauth/access_token
    Params:
        grant_type=authorization_code
        client_id=<add your "App id" got by registering app>
        redirect_uri=<add redirect uri defined at the registration of app>
        code=<obtained authorization code from previous step>
    Headers:
        Authorization:Basic encode <App Id:App Secret> with base64 
        Content-Type:application/json

Шаг 3. Используйте маркер доступа, полученный от вышеупомянутого шага, и получите пользовательские ресурсы

0
ответ дан 31 October 2019 в 15:51

Другие вопросы по тегам:

Похожие вопросы: