2013-06-27 19 views
24

pracuję na integrację OAuth2 do REST API i chciałbym wiedzieć, jak mam wysłać parametr access_token dla wniosków.oauth2.0 jak przekazać token dostępu

Przykład:
Serwer akceptuje dwie trasy:
POST/GET napisać
/odczytu

FOR/zapisu, mam umieścić access_token w poście?
curl http://api.localhost/write -d 'access_token=[ACCESS_TOKEN]'

Za/przeczytaj, czy powinienem umieścić go w GET?
curl http://api.localhost/read?access_token=[ACCESS_TOKEN]

Czy w obu przypadkach powinien zostać wysłany przez POST?

Dzięki,
Gasim

+2

Należy zauważyć, że zarówno '/ write' oraz'/read' do ** NOT ** są zgodne ze standardami API RESTful API. Nazwy zasobów powinny być kolekcjami, a nie czasownikami. HTTP ma już własny zestaw czasowników. Na przykład, jeśli twój interfejs API odczytuje/zapisuje pliki, to punktem końcowym powinno być polecenie '/ files' i' GET' odczytuje plik, natomiast 'PUT' lub' POST' powinien utworzyć plik. ("PUT", jeśli twój klient podaje ID, "POST", jeśli serwer robi to) – OverCoder

Odpowiedz

33

Z OAuth, token jest ogólnie przyjęte w nagłówku żądania. może chcesz spróbować czegoś podobnego do następującego, zarówno POST lub GET:

POST: curl http://api.localhost/write -H 'Authorization: Bearer ACCESS_TOKEN'

GET: curl http://api.localhost/read -H 'Authorization: Bearer ACCESS_TOKEN'

Wartość część pary klucz autoryzacji/wartość może różnić się o usługi REST dostawca. Z Github na przykład para klucz header/wartość wygląda następująco:

curl -H "Authorization: token your_token" https://api.github.com/repos/user/repo

Może trzeba będzie skonsultować docs dostawcy usługa o szczegóły.

+0

@ user984832 to słowo 'Niosący' jest słowem kluczowym lub czy jest częścią tokena dostępu –

+0

' Na okaziciela' jest słowem kluczowym często używanym przez strony wdrażające protokół OAuth 2. –

+0

Jak zmienić adres z api.localhost/read na https://api.github.com/repos/user/repo ?? – Jesse

Powiązane problemy