OAuth, sunucu kaynaklarına güvenli istemci uygulaması erişimi sağlamak için kullanılan bir açık yetkilendirme standardıdır. OAuth yetkilendirme çerçevesi, bir üçüncü taraf uygulamasının, bir kaynak sahibi adına veya üçüncü taraf uygulamasının kendi adına erişim sağlamasına izin vererek bir HTTP hizmetine sınırlı erişim elde etmesini sağlar.
OAuth, sunucu sahiplerinin kimlik bilgilerini paylaşmadan sunucu kaynaklarına erişim yetkisi vermesine olanak tanır. Bu, kullanıcının kimliğini paylaşmadan bir sunucudan başka bir sunucu kaynağına özel kaynaklara erişim izni verebileceği anlamına gelir.
OAuth, Geleneksel İstemci-Sunucu Kimlik Doğrulaması Sorunlarını Çözüyor
OAuth, geleneksel istemci-sunucu kimlik doğrulama modelinde bulunan ve üçüncü taraf uygulamaların gelecekte kullanım için kaynak sahibinin kimlik bilgilerini saklaması gereken ve kaynak sahiplerinin tüm üçüncü taraflara erişimi iptal etmeden tek bir üçüncü tarafa erişimi iptal edemediği sorunlar ve sınırlamalar için tasarlanmıştır. .
OAuth, bir yetkilendirme katmanı sunarak ve istemcinin rolünü kaynak sahibinin rolünden ayırarak bu sorunları giderir. İstemci, korunan kaynaklara erişmek için kaynak sahibinin kimlik bilgilerini kullanmak yerine, kaynak sahibinin onayıyla bir yetkilendirme sunucusu tarafından üçüncü taraf istemcilere verilen bir erişim belirteci alır.
OAuth Protokolü
Bilgilendirme belgesi olarak yayınlanan OAuth 1.0 protokolü (RFC5849), küçük bir geçici topluluk çabasının sonucuydu. OAuth 2.0 protokolü, OAuth 1.0 ile geriye dönük olarak uyumlu değildir.
OAuth Güvenlik Kusurları
Mayıs 2014'te, yaygın olarak kullanılan OAuth ve OpenID web sitesi kimlik doğrulama mekanizmalarında bir güvenlik açığı keşfedildi. Kusur OAuth 2'de değildi, ancak bazı işletmelerin standartları nasıl uyguladıklarının bir sonucuydu, birincil olarak açık yönlendirmelerin kullanıldığı durumlarda. Güvenlik açığıyla ilgili haberleri takiben Google, ek yetkilendirme kontrolleri uygulayarak hesaplarına giriş yaptıklarında kullanıcıların güvenliğini sağlamanın daha katı olacağını söyledi.