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?

  1. Client: Kullanıcı adına erişim isteyen web, mobil veya sunucu uygulaması
  2. Authorization server: Kullanıcıyı doğrulayan ve izin ekranını yöneten sistem
  3. Resource server: Korunan API veya veri kaynağı
  4. Scope: read:orders veya profile gibi izin sınırı
  5. 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.