OAuth 2.0 nasıl çalışır
OAuth 2.0 dört rol tanımlar. Kaynak sahibi kullanıcıdır. İstemci, erişim isteyen uygulamadır. Yetkilendirme sunucusu kullanıcıyı doğrular ve jeton üretir. Kaynak sunucusu ise korunan veriyi barındırır ve bu jetonları kabul eder. Kullanıcı, parolasını istemciye vermek yerine yetkilendirme sunucusunda belirli ve kapsamı sınırlı bir izni onaylar.
En yaygın akış, yetkilendirme kodu akışıdır: istemci kullanıcıyı yetkilendirme sunucusuna yönlendirir, kullanıcı doğrulanır ve onay verir, sunucu kısa ömürlü bir kod döndürür ve istemci bu kodu bir erişim jetonuyla takas eder. PKCE uzantısı, istemci sırrı saklayamayan mobil ve tek sayfa uygulamalarda bu takası korur. Erişim jetonları bilinçli olarak kısa ömürlüdür; yenileme jetonları, kullanıcıya tekrar sormadan yeni jeton alınmasını sağlar.
OAuth 2.0 neden önemli
OAuth'tan önce iki servisi entegre etmek, birine diğerinin parolasını vermek anlamına geliyordu; bu da sınırsız erişim tanır ve ancak parolayı her yerde değiştirerek geri alınabilirdi. OAuth bu kötü alışkanlığı kapsamı belirli, iptal edilebilir ve süreli jetonlarla değiştirdi. Bir uygulamaya takviminizi okuma izni verilebilirken e-postanızı silme yetkisi verilmeyebilir.
OAuth 2.0, modern API ekonomisinin ve modern kimliğin temeli haline geldi. Web ve mobil uygulamalarda baskın kimlik doğrulama protokolü olan OpenID Connect, doğrudan OAuth 2.0 üzerine inşa edilmiş ince bir kimlik katmanıdır. Bu nedenle OAuth'un rollerini, akışlarını ve jeton modelini anlamak, günümüz oturum açma ve API güvenliğinin çoğunu anlamanın ön koşuludur.
Uygulamada OAuth 2.0
Güncel en iyi uygulama nettir: her etkileşimli istemci için PKCE ile yetkilendirme kodu akışını, salt makineden makineye erişim için istemci kimlik bilgileri akışını kullanın; kullanımdan kaldırılan implicit ve parola akışlarından tamamen kaçının. Erişim jetonu sürelerini kısa tutun, işi gören en dar kapsamları isteyin ve her API çağrısında jetonu doğrulayın.
Sık yapılan hatalar arasında erişim jetonunu kullanıcının kim olduğunun kanıtı saymak (bu OpenID Connect'in işidir), jetonları betiklerin okuyabileceği yerlerde saklamak ve jeton hırsızlığına kapı açan yönlendirme adresi doğrulamasını atlamak vardır. Monosign, OAuth 2.0 ve OpenID Connect'i PKCE desteğiyle uygular ve bağlı uygulamalar için jeton üreten ve doğrulayan yetkilendirme sunucusu olarak çalışır.