OAuth 2.0 Nedir
Token Tabanlı Yetkilendirmenin Güçlü ve Zayıf Yönleri
“Yetki vermek, kim olduğunu bilmekten daha zor bir sanattır.”
— Ersan Karavelioğlu
OAuth 2.0 Nedir
OAuth 2.0, bir kullanıcının parolasını paylaşmadan
sınırlı ve kontrollü yetki verilmesini sağlayan modern bir
yetkilendirme çerçevesidir.

Kimlik doğrulamaz;
Yetki devreder.
Authentication mı Authorization mı
Authentication → Sen kimsin?
Authorization → Ne yapabilirsin?

OAuth 2.0 ikinciyi çözer.

Kimlik, yetkinin yerini tutmaz.
OAuth 2.0 Neden Ortaya Çıktı

Parola paylaşımının riski

Üçüncü parti uygulamaların artışı

Güvenli delegasyon ihtiyacı
Temel Roller Nelerdir
Resource Owner (kullanıcı)
Client (uygulama)
Authorization Server
Resource Server

Roller net değilse güvenlik dağılır.
Token Mantığı Nedir
Access Token, belirli kapsam ve süreyle verilen yetkidir.

Parola değildir.

Taşınabilir ama sınırlıdır.
Scope Kavramı

Token’ın
neye izin verdiğini tanımlar.

“Her şeye erişim” güvenlik değildir.

En az yetki ilkesi burada yaşar.
OAuth 2.0 Akışları (Grant Types)

Authorization Code (en güvenlisi)

Client Credentials

Device Code

Implicit (artık önerilmez)

Akış seçimi mimaridir.
Authorization Code Flow Neden Önerilir

Token doğrudan tarayıcıya gelmez

Arka kanalda alınır

Sızıntı riski düşer
PKCE Nedir

Public client’lar için ek koruma

Code interception saldırılarını önler

Mobil ve SPA’larda zorunludur
Refresh Token Mantığı

Süresi dolan access token’ı yeniler

Uzun ömürlüdür

Çalınırsa risk büyüktür

OAuth 2.0 Güçlü Yönleri

Parola paylaşımı yok

İnce taneli yetkilendirme

Ekosistem uyumu

Doğru uygulanırsa çok güçlüdür

Zayıf Yönleri Nerede Başlar

Yanlış konfigürasyon

Aşırı scope

Kötü token yönetimi

En Yaygın OAuth Hataları

Token’ı URL’de taşımak

Süresiz token’lar

Backend doğrulaması olmaması

OAuth ≠ Güvenlik

OAuth bir
araçtır, çözüm değildir.

Yanlış kullanılırsa risk üretir.

Güvenlik tasarımla başlar.

OAuth ve API Security İlişkisi

API’ler OAuth ile korunur

Ama authorization kontrolü yine API’dedir

Token var diye yetki var sanma

OAuth ve Zero Trust

Her istekte doğrulama

Token + bağlam kontrolü

Güven varsayılmaz, kanıtlanır

Token Saklama Nerede Olmalı

HTTP-only cookie

LocalStorage risklidir

XSS token çalar

En Büyük Yanılgı

“OAuth kullanıyoruz, güvendeyiz.”

Yanlış.

Uygulama mantığı zayıfsa OAuth tek başına yetmez.

Son Söz
Yetki İncedir, Kırılgandır

OAuth 2.0,
doğru kullanıldığında güçlü bir yetkilendirme modelidir.

Ama güvenliği, onu nasıl uyguladığın belirler.

Yetki vermek, güvenlik mimarisinin en hassas noktasıdır.
“Yetkiyi verdiğin an, sorumluluğu da alırsın.”
— Ersan Karavelioğlu