Jak klient powinien przekazać token dostępu facebook do serwera?

Przy każdym wywołaniu mojego REST API, wymagam od klientów podania tokenu dostępu użytkownika facebook, który uwierzytelnia użytkownika. Jaka jest najlepsza praktyka przekazywania tego żetonu?

  1. Może jako parametr za znakiem zapytania HTTP

    GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
    
  2. Lub jakoś w nagłówku żądania, podobnie do podstawowego uwierzytelniania HTTP

  3. może trzecia opcja? (Wykluczyłem przekazywanie go w JSON, ponieważ chcę, aby token został przekazany również w GET wywołaniach, więc JSON nie zmieściłoby się tam chyba)
Author: zafeiris.m, 2013-05-13

1 answers

Jeśli spojrzysz na punkty końcowe API dostarczone przez wszystkich popularnych dostawców OAuth (Google, Facebook, Pocket, Git itp.), zobaczysz, że wszystkie one mają punkty końcowe HTTPS.

Sposób, w jaki można przekazać token dostępu do dostawcy to -

I) Jako Parametr Zapytania -

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

Ii) w nagłówku żądania -

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

Te dwa podejścia są ogólnie obsługiwane przez większość interfejsów API. Możesz myśleć o zrobieniu tego samego.

Iii) Pocket API w ogóle nie używa GET. Używają POST do wszystkich swoich żądań, nawet do pobierania danych. Sprawdź ten link , aby zobaczyć ich dokumentację. Zauważ, że używają POST do pobierania danych i przekazują parametry JSON.

 40
Author: divyanshm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-25 05:35:37