Soru oauth2.0 erişim belirtecini nasıl geçirilir?


Entegre çalışıyorum OAuth2 bir REST API ve nasıl göndermek istediğimi bilmek isterim ACCESS_TOKEN İstekler için parametre.

Örnek:
Sunucum iki yolu kabul ediyor:
POST / yaz
Oku

/ Write için, access_token'i POST'a koymam mı gerekiyor?
curl http://api.localhost/write -d 'access_token=[ACCESS_TOKEN]'

Okumak için onu GET'e koymalı mıyım?
curl http://api.localhost/read?access_token=[ACCESS_TOKEN]

Ya da her iki durumda da, POST aracılığıyla gönderilmesi gerekiyor?

Teşekkürler,
Gasim


28
2018-06-27 03:58


Menşei


İkisini de unutmayın /write ve /read yap DEĞİL RESTful API standartlarını takip edin. Kaynak adları fiiller değil, koleksiyonlar olmalıdır. HTTP zaten kendi fiil kümesine sahip. Örneğin, API'niz dosyaları okuyor / yazıyorsa, bitiş noktası /files ve GET istek bir dosyayı okur PUT veya POST bir dosya oluşturmalı. (PUT müşteriniz kimliğini belirtirse POST sunucu yaparsa) - OverCoder


Cevaplar:


OAuth ile, belirteç genellikle istek başlıklarına iletilir. Hem POST hem de GET için aşağıdakine benzer bir şey denemek isteyebilirsiniz:

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

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

Yetkilendirme anahtarı / değer çiftinin değer kısmı, REST servis sağlayıcısına göre değişebilir. İle Githubörneğin, başlık anahtarı / değer çifti şu şekilde görünür:

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

Ayrıntılar için web servis sağlayıcısına danışmanız gerekebilir.


39
2018-06-27 04:09



@ user984832 kelimesidir Bearer bir anahtar kelimedir veya erişim belirtecinin bir parçası mı? - Kasun Siyambalapitiya
Bearer OAuth 2'yi uygulayan siteler tarafından sık kullanılan bir anahtar kelimedir. - Matt H
Api.localhost'dan nasıl geçiş yaptınız / oku api.github.com/repos/user/repo?? - Jesse