OAuth, bir uygulamanın bir kullanıcı adına veya kendi adına, bir HTTP hizmetine sınırlı erişim elde etmesine olanak tanıyan bir yetkilendirme çerçevesidir; bu, kullanıcının bir şifre vermesini gerektirmez. OAuth 2.0, RFC 6749'da tanımlanmıştır. OAuth kullanan resmi bir API aracılığıyla veri topladığınızda, kodunuz her istekte giriş kimlik bilgileri yerine bir erişim belirteci gönderir.

OAuth olmadan, kullanıcılar üçüncü taraf uygulamalara şifrelerini vermek zorunda kalır. Bu, şifreyi açığa çıkarır, uygulamaya aşırı geniş erişim sağlar ve bir uygulamayı iptal etmeyi zorlaştırır; çünkü tüm uygulamalar için şifreyi değiştirmek gerekir. Bunun yerine bir erişim belirteci, belirli bir kapsam, ömür ve diğer erişim niteliklerini taşır.

Dört OAuth Rolü

  • Kaynak sahibi: Korunan bir kaynağa erişim izni verebilen taraf. Bu bir kişi olduğunda, son kullanıcıdır.
  • İstemci: Korunan kaynakları talep eden uygulama.
  • Yetkilendirme sunucusu: Kaynak sahibini kimlik doğrular, onay alır ve istemciye erişim belirteçleri verir.
  • Kaynak sunucusu: Korunan kaynakları barındırır ve erişim belirteçlerini taşıyan isteklere yanıt verir.

OAuth Yetkilendirme Türleri

  • Yetkilendirme kodu: İstemci, kullanıcıyı yetkilendirme sunucusuna gönderir ve dönen kodu bir belirteçle değiştirir. Kullanıcının kimlik bilgileri asla istemciye ulaşmaz.
  • İstemci kimlik bilgileri: İstemci, kontrol ettiği kaynaklar için bir belirteç almak üzere kendisi olarak kimlik doğrular.
  • Açık ve şifre yetkilendirmeleri: Her ikisi de RFC 6749'da yer alır, ancak oauth.net şimdi bunları eski akışlar olarak etiketlemektedir.
  • Sonraki adımlar: OAuth 2.1, OAuth 2.0 ve yaygın uzantıları birleştirmek için devam eden bir çabadır. OpenID Connect, OAuth 2.0 üzerine inşa edilmiş ayrı bir kimlik protokolüdür.

Yetkilendirme, Kimlik Doğrulama Değil

OAuth 2.0, bir kimlik doğrulama protokolü değildir. Kimlik doğrulama, bir uygulamaya mevcut kullanıcının kim olduğunu ve orada olup olmadığını söyler. Bir OAuth erişim belirteci, istemciye bu bilgileri vermez. OpenID Connect bu katmanı ekler: doğrudan OAuth 2.0 üzerine inşa edilmiştir ve kimlik doğrulama bilgilerini taşıyan bir ID Belirteci ekler.

OAuth 1.0 ile OAuth 2.0

  • Yerine geçme: RFC 6749 (OAuth 2.0), RFC 5849'da tanımlanan OAuth 1.0'ı değiştirmiş ve geçersiz kılmıştır.
  • Uyumlu değil: OAuth 2.0, OAuth 1.0 ile geriye dönük uyumlu değildir. İki versiyon bir arada var olabilir ve bir hizmet her ikisini de destekleyebilir.
  • TLS gereklidir: OAuth 2.0, belirteç uç noktasına yapılan istekler için TLS gerektirir.

İlgili Terimler