OAuth 2'de Taşıyıcı Jetonları ve token_type nedir?


140

OAuth 2 spec Kaynak Sahibi ve Şifre Kimlik Bilgileri akışını uygulamak çalışıyorum . token_typeGeçerli bir yanıtla geri gönderilen değeri anlamada sorun yaşıyorum . Spesifikasyonda tüm örnekler gösteriyor, "token_type":"example"ancak olması gerektiğini söylüyor

token_type GEREKLİ. Bölüm 7.1'de açıklandığı şekilde verilen token türü . Değer büyük / küçük harfe duyarlı değildir.

Lütfen birisi bunu bana açıklayabilir mi?

Yanıtlar:


158

token_typeAccess Token'da Yetkilendirme sunucusuna çağrı oluşturma parametresidir, bu da esas olarak bir erişim_törünün kaynak erişim çağrıları için nasıl oluşturulacağını ve sunulacağını temsil eder. Yetkilendirme sunucusuna erişim belirteci oluşturma çağrısında belirteç_tipi sağlarsınız.

Bearer(Çoğu uygulamada varsayılan) verirseniz , bir access_tokenoluşturulur ve size geri gönderilir. Taşıyıcı basitçe "bu tokenin taşıyıcısına erişim ver" olarak anlaşılabilir. Geçerli bir jeton ve soru sorulmadı. Öte yandan Macve sign_type( hmac-sha-1çoğu uygulamada varsayılan ) seçeneğini belirlerseniz, erişim belirteci oluşturulur ve bir özellik olarak Anahtar Yöneticisi'nde gizli olarak saklanır ve şifrelenmiş bir sır şu şekilde geri gönderilir:access_token

Evet, kendi uygulamanızı kullanabilirsiniz token_type, ancak geliştiricilerin standart OAuth uygulamalarından ziyade sürecinizi takip etmesi gerekeceğinden, bu pek mantıklı olmayabilir.


28
"Bu tokenin taşıyıcısına erişim ver" i anlamayı kolaylaştırır buluyorum. "Çekin hamiline para ver" çeki vermenin karşılığıdır.
NVM

@NVM Öneri için teşekkürler, kesinlikle mantıklı. Ben de güncelledim.
Abhishek Tyagi

33

Herkes "token_type" i OAuth 2.0 uzantısı olarak tanımlayabilir, ancak şu anda "taşıyıcı" simge türü en yaygın olanıdır.

https://tools.ietf.org/html/rfc6750

Temelde Facebook bunu kullanıyor. Onların uygulaması olsa son spec biraz geridedir.

Facebook'tan daha güvenli (veya "imza" içeren OAuth 1.0 kadar güvenli) istiyorsanız, "mac" simge türünü kullanabilirsiniz.

Ancak, mac spec hala hızla değiştiği için zor bir yol olacaktır.

https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-05


14

Mozilla MDN Başlık Bilgileri

Taşıyıcı Simgesi Belirteci
elinde bulunduran herhangi bir tarafın (bir "taşıyıcı") belirteci, sahip olduğu herhangi bir tarafın kullanabileceği herhangi bir şekilde kullanabileceği özelliğe sahip bir güvenlik belirteci. Bir taşıyıcı belirtecinin kullanılması, kriptografik anahtar malzemeye (sahip olma kanıtı) sahip olduğunu kanıtlamak için bir taşıyıcı gerektirmez.

Taşıyıcı Jetonu veya Yenileme belirteci sizin için Kimlik Doğrulama sunucusu tarafından oluşturulur. Bir kullanıcı uygulamanızın (istemcinizin) kimliğini doğruladığında, kimlik doğrulama sunucusu gidip bir erişim belirteci almak için kullanabileceğiniz bir Taşıyıcı Simgeniz (yenileme belirteci) için oluşturur.

Taşıyıcı Jetonu normalde kimlik doğrulama sunucusu tarafından oluşturulan bir tür şifreli değerdir, size erişim izni veren kullanıcıya ve uygulamanıza erişim sağladığına göre rastgele oluşturulmaz.

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.