OAuth 2.0 Nedir?
İngilizce: OAuth 2.0
OAuth 2.0, üçüncü taraf uygulamaların kullanıcı şifresi olmadan kaynaklara erişmesini sağlayan yetkilendirme çerçevesidir.
OAuth 2.0 Nedir?
OAuth 2.0, bir uygulamanın başka bir sistemdeki kullanıcı verilerine sınırlı ve geri alınabilir izinle erişmesini sağlayan yetkilendirme standardıdır. Kullanıcı şifresi üçüncü taraf uygulamaya verilmez; bunun yerine yetki sunucusu belirli kapsamları temsil eden access token üretir.
Tipik örnek, bir raporlama aracının Google Drive dosyalarına erişmek istemesidir. Kullanıcı izin ekranında hangi verilere erişileceğini görür, onay verir ve uygulama sadece verilen kapsamlar kadar işlem yapabilir.
OAuth 2.0 Nasıl Çalışır?
- Client: Kullanıcı adına erişim isteyen web, mobil veya sunucu uygulaması
- Authorization server: Kullanıcıyı doğrulayan ve izin ekranını yöneten sistem
- Resource server: Korunan API veya veri kaynağı
- Scope:
read:ordersveyaprofilegibi izin sınırı - Token: İsteklerde kullanılan kısa ömürlü erişim bileti
En yaygın akış web uygulamaları için Authorization Code + PKCE yaklaşımıdır. Mobil ve tek sayfa uygulamalarında da PKCE kullanılır; eski implicit flow artık güvenlik nedeniyle tercih edilmez. Refresh token ise kullanıcıyı tekrar girişe zorlamadan yeni access token almak için kullanılır.
İş Dünyasında Kullanımı
OAuth 2.0, sosyal giriş, üçüncü taraf entegrasyon, pazaryeri uygulaması, muhasebe bağlantısı ve kurumsal SSO senaryolarında kullanılır. Bir CRM’in e-posta hesabına bağlanması, bir e-ticaret panelinin kargo API’sine kullanıcı adına erişmesi veya bir mobil uygulamanın profil bilgisi alması bu modele girer.
Uygulamada dikkat edilmesi gereken noktalar redirect URI doğrulaması, scope’ların gereğinden geniş verilmemesi, token saklama güvenliği ve token süresi yönetimidir. OAuth çoğu zaman JWT ile birlikte görülür, ancak OAuth yetkilendirme akışını; JWT ise token formatlarından birini ifade eder. Sağlam bir API entegrasyonunda bu ayrım tasarımın temelidir.
İlgili Terimler
2FA, oturum açarken şifreye ek olarak telefon, doğrulama uygulaması veya donanım anahtarıyla ikinci kanıt isteyen yöntemdir.
API Gateway GüvenliğiAPI Gateway güvenliği, kimlik doğrulama, kota, WAF kuralları ve trafik gözlemini API giriş noktasında merkezi olarak uygular.
API KeyAPI key, uygulama veya geliştiriciyi tanımlayan; kota takibi, erişim sınırı ve basit sunucu-sunucu güvenliği için kullanılan anahtardır.
APIAPI, farklı yazılımların izin verilen veri ve işlemlere standart istekler üzerinden erişmesini sağlayan sözleşmeli arayüzdür.
API GüvenliğiAPI güvenliği, endpoint'leri kimlik doğrulama, yetkilendirme, şifreleme ve hız sınırlarıyla kötüye kullanıma karşı korur.
JWTJWT, API'ler ve istemciler arasında doğrulanabilir bilgileri taşımak için kullanılan imzalanmış ve kodlanmış JSON tabanlı token standardıdır.
MFAMFA, girişte parola dışında cihaz, uygulama, biyometri veya güvenlik anahtarı gibi ek doğrulama faktörleri ister.
Passkey (Geçiş Anahtarı)Passkey, parola yerine cihazdaki özel anahtar ve biyometrik/PIN onayıyla çalışan, phishing'e dayanıklı oturum açma yöntemidir.
RBACRBAC, kullanıcı izinlerini tek tek değil görev rollerine bağlayarak uygulama ve sistemlerde erişim yönetimini sadeleştiren yetkilendirme modelidir.
SAMLSAML, SSO senaryolarında kimlik sağlayıcı ile servis sağlayıcı arasında XML imzalı kimlik doğrulama beyanları taşıyan standarttır.