Siber Güvenlik
100%

OAuth 2.0 Protokolü ve Yetkilendirme (Authorization) Akışları

Modern web ve mobil uygulamalarda güvenli yetki paylaşımı sağlayan OAuth 2.0 standardının çalışma prensipleri ve Authorization Code akışı.

Genel Bakış

OAuth 2.0, internet kullanıcılarının şifrelerini üçüncü taraf uygulamalarla paylaşmadan, kendi verilerine erişim izni vermelerini sağlayan bir endüstri standardı yetkilendirme (authorization) protokolüdür.

Sorun

Eskiden bir oyun uygulamasının arkadaş listenizi bulması için Facebook veya Google e-posta ve şifrenizi oyuna doğrudan girmeniz gerekiyordu. Bu durum, oyunun hesabınızdaki her şeye (mailleriniz, ayarlarınız) tam erişim sağlaması anlamına gelir ve devasa bir güvenlik açığı yaratırdı.

Çözüm: Access Token (Erişim Jetonu)

OAuth 2.0 sayesinde, istemci uygulama (oyun) şifrenizi asla görmez. Sizi doğrudan Google/Facebook giriş ekranına yönlendirir. Siz orada giriş yapıp "İzin Ver" dediğinizde, uygulama sadece sınırlı bir "Access Token" alır.

Authorization Code Akışı:

  1. Kullanıcı yetkilendirme sunucusuna yönlendirilir.
  2. Başarılı giriş sonrası uygulamaya geçici bir "Authorization Code" döner.
  3. Uygulamanın arka ucu, bu kodu kendi Client Secret bilgisiyle beraber sunucuya gönderip gerçek Access Token'ı alır.

Teknik Detaylar

OAuth 2.0 sadece yetkilendirme (authorization) içindir, kimlik doğrulama (authentication) protokolü değildir (Bunun için üzerine inşa edilen OpenID Connect - OIDC kullanılır). Token'lar genellikle JWT (JSON Web Token) formatındadır. Token çalınması riskine karşı token ömürleri kısa tutulur (örn. 15 dakika) ve süresi bittiğinde yenilemek için "Refresh Token" kullanılır.

Sonuç

Günümüzde "Google ile Giriş Yap" veya "GitHub ile Bağlan" butonlarının arkasındaki güç OAuth 2.0'dır. Microservis mimarilerinde ve modern API güvenliğinde vazgeçilmez bir standarttır.

İlgili Wiki'ler

Tümünü Gör