OAuth 2.0 Yetkilendirme Başlığı


91

OAuth 2.0 işlevlerini kapsayan bir SDK geliştirmek istiyorum. OAuth 1.0 ve 2.0 arasındaki farkları kontrol ettim ve Yetkilendirme Başlığı ( 1.0 ve 2.0 ) konusunda biraz kafa karışıklığı yaşıyorum , OAuth 1.0 protokol parametreleri HTTP "Yetkilendirme" başlığı kullanılarak iletilebilir, ancak bunu şu anda açıklanan bulamıyorum OAuth 2.0 taslağı.

OAuth 2.0, yetkilendirme başlıklarını destekler mi?

OAuth 1.0'da başlığınız şöyle görünür:

Authorization: OAuth realm="Example",
    oauth_consumer_key="0685bd9184jfhq22",
    oauth_token="ad180jjd733klru7",
    oauth_signature_method="HMAC-SHA1",
    oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
    oauth_timestamp="137131200",
    oauth_nonce="4572616e48616d6d65724c61686176",
    oauth_version="1.0"

Sorunuzu yanıtlamıyorum, ancak halihazırda orada bir dizi OpenId ve OAuth kitaplığı var, tekerleği yeniden icat etmek istediğinizden emin misiniz?
Kane

Merhaba Kane, OAuth için SDK geliştirmiyorum, SDK'mda sadece bazı OAuth işlevine ihtiyacım var, bu yüzden üçüncü bölüm kitaplığını tanıtmak istemiyorum.
JKhuang

Yanıtlar:


206

Başlıkta OAuth2 yetkilendirmesinin (erişim belirteci) nasıl geçirileceğine dair bir örnek arayanlar için (bir istek veya gövde parametresi kullanmak yerine), işte şu şekilde yapılır:

Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

32
Yetkilendirme Başlığını cURL ile kullanmaya çalışan bu iş parçacığına rastlayan herkes için, İşte komut: curl -H "Authorization: Bearer $ACCESS_TOKEN" URI
Blake G

5
Hızlı soru, bunun gibi yanıtları görmeye devam ettiğim için, ancak açıklama yapmadan: Bunu kodda yapıyorsam (HTTPRequest API aracılığıyla), isteğime bir başlık adı ve ilişkili bir veri alanıyla başlıklar eklerim. Bu cevapta başlığın adı hangi kısım ve veriler hangisidir? Olduğunu, başlıktır Authorization: Bearerile 0b...42veri olarak veya başlığıdır Authorization:ile Bearer 0b...42veri ya da ne kadar? Teşekkürler! (Btw, ben Oauth2, önemliyse.)
Olie

9
Authorizationüstbilgi adıdır, iki nokta üst üste işareti, adı RFC2616 bölüm 4.2'ye göre tüm üstbilgilerdeki değerden ayırır .
Rick Mac Gillis

35

Yetkilendirme başlığını OAuth 2.0 ile kullanmaya devam edebilirsiniz. OAuth taşıyıcı jetonlarla kullanım için Yetkilendirme başlığında belirtilen bir Taşıyıcı türü vardır (yani istemci uygulaması yalnızca jetonu sunmalıdır ("taşımalıdır"). Başlığın değeri, istemcinin Yetkilendirme Sunucusundan aldığı erişim belirtecidir.

Bu spesifikasyonda belgelenmiştir: https://tools.ietf.org/html/rfc6750#section-2.1

Örneğin:

   GET /resource HTTP/1.1
   Host: server.example.com
   Authorization: Bearer mF_9.B5f-4.1JqM

Nerede mF_9.B5f-4.1JqM olan OAuth erişim belirteci.


OAuth 2.0, örnek olarak iki erişim belirteci türünü belgeler: Taşıyıcı ve MAC ( tools.ietf.org/html/rfc6749#section-7.1 )
Clauds

1
Maalesef MAC hiçbir zaman tam olarak standartlaştırılmadı (süresi dolan taslak spesifikasyona bakın: tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-05 ) ve pratikte kullanılmıyor.
Scott T.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.