Подтвердить что ты не робот

Как клиент должен передать токен доступа facebook к серверу?

При каждом вызове моего REST API мне нужно, чтобы клиенты передавали токен доступа к facebook, который аутентифицирует пользователя. Какая лучшая практика для передачи этого токена?

  • может быть как параметр за отметкой вопроса HTTP

    GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
    
  • или как-то в заголовке запроса, аналогично базовой аутентификации HTTP

  • может быть, третий вариант? (Я исключил передачу его в JSON, потому что я хочу, чтобы токен передавался также в вызовах GET, поэтому JSON не поместился бы там, я думаю)
4b9b3361

Ответ 1

Если вы посмотрите на конечные точки API, предоставленные всеми популярными провайдерами OAuth (Google, Facebook, Pocket, Git и т.д.), вы увидите, что у них все конечные точки HTTPS.

Способы передачи токена доступа провайдеру -

i) В качестве параметра запроса -

https://yourwebsite.com/api/endpoint?access_token=YOUR_ACCESS_TOKEN

ii) В заголовке запроса -

 GET /api/users/123/profile HTTP/1.1
 Host: yourwebsite.com
 Date: Tue, 14 May 2013 12:00:00 GMT
 Authorization: <YOUR_ACCESS_TOKEN>

Эти два подхода, которые обычно поддерживаются большинством API. Вы можете думать об этом.

iii) Pocket API не использует GET вообще. Они используют POST для всех своих запросов, даже для извлечения данных. Проверьте ссылку , чтобы просмотреть их документацию. Обратите внимание, что они используют POST для извлечения данных и передачи параметров JSON.