OAuth2 akışı - sunucu Auth sunucusuyla doğrulanıyor mu?


10

OAuth2'de kafamı karıştırmaya çalışıyorum, ama hala bir şey hakkında kafam karıştı.

İstemcinin OAuth sağlayıcısıyla (örneğin Google) yetkilendirdiğini ve Kaynak Sunucunun kullanıcının profil verilerine erişmesine izin verdiğini anlıyorum. Sonra istemci erişim belirtecini kaynak sunucuya gönderebilir ve kaynağı geri verebilir.

Ancak, belgelerin hiçbirinde kapsanmayan şey, istemci uygulaması kaynak sunucudan bir kaynak istediğinde ve ona erişim belirtecini ilettiğinde gerçekleşir. Şimdiye kadar okuduğum her şey kaynak sunucusunun istenen kaynakla yanıt verdiğini belirtir.

Ama bu büyük bir delik gibi görünüyor, elbette kaynak sunucusu erişim belirtecini bir şekilde doğrulamalıdır, aksi takdirde eski herhangi bir isteği taklit edebilir ve eski, çalıntı, sahte veya rastgele oluşturulmuş bir simgeyi geçebilir ve kabul edebilirim.

Herkes bana OAuth2 açıklamasını takip etmek için basit bir işaret olabilir çünkü şimdiye kadar okuduğum olanlar eksik hissediyorum.

Yanıtlar:


8

Buldum. Şartnameye gömüldü. Kaynak sunucunun erişim belirtecini kimlik doğrulama sunucusuyla doğrulaması gerektiğini, ancak belgenin kapsamı dışında olduğunu söylüyorlar. Yazık ki, jeton doğrulamasının önemli bir parçası olduğunu düşünürdüm.


1
Hakkında önemli parçalarından , okunmaya değer olabilir bu blog yazısı OAuth2'ye için öncelikler konusunda bazı arka plan için.
Lars Viklund

1
Bunun için teşekkürler, ilginç bir okuma. Bir iOS uygulamasının google, twitter, facebook, vb. İle kimlik doğrulaması yapmasına, sunucuma bir tür yetkilendirme geçirmesine ve sunucumun bunu doğrulamasına ve kaynaklara erişimi etkinleştirmesine izin vermek istiyorum. Sorun, bunun nasıl çalıştığını ve nerede yapmam gerektiğini anlamanın karmaşıklıkları nedeniyle tahmin ettiğimden daha karmaşık olduğunu kanıtladı.
drekka

Daha doğrusu, Ek A: "İstekte imzayı doğrulamak için, korunan kaynak, belirteç için gerekli anahtar bilgileri elde etmek üzere belirteç tanımlayıcısını yetkilendirme sunucusunun içe aktarma uç noktasına gönderebilir. Bu kullanımın ayrıntıları dışarıda bu spesifikasyonun kapsamı ve bir uzantıda tanımlanacaktır [...] ".
JulienD

2

Jeton doğrulaması genellikle 2 yoldan biriyle yapılır.

1) Jeton, önceden paylaşılan anahtarlar kullanılarak şifreli olarak imzalanır. Bunun, dağıtılmış, çoğaltan sistemlerde kullanım için belirgin kısa gelişmeleri vardır.

2) Yetkilendirme Sunucusu (AS), jeton doğrulaması veya Introspection için bir uç nokta sağlar. Bu yöntem Ekim 2015'te IETF RFC 7662'de standartlaştırılmıştır, bkz: https://tools.ietf.org/html/rfc7662

Bu Yığın Taşması Soru / Cevap Google ve Github'dan örnekler içerir: /programming/12296017/how-to-validate-an-oauth-2-0-access-token-for-a-resource-server


0

jetonun nasıl doğrulanacağına ilişkin spesifikasyonu okudunuz:

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

Umarım bu yardımcı olur - lütfen sorunuzu / probleminizi cevaplarsa cevabı işaretleyin


4
Yazılım Mühendisliğine Hoş Geldiniz. Mevcut haliyle, bu cevap kalite yönergelerimizi karşılamamaktadır . Yanıtların kendi başlarına durması gerektiğini düşünüyoruz - okuyucular sadece daha derin bir anlayış kazanmak veya kaynakları onaylamak için dış bağlantıları takip etmeli ve ilgili içerik burada alıntılanmalıdır.
Thomas Owens
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.