← Tüm yazılar

OAuth 2.0 ve OpenID Connect Güvenliği: Yaygın Hatalar ve Doğru Kullanım

5 Ekim 2026

OAuth 2.0 ve OpenID Connect Güvenliği: Yaygın Hatalar ve Doğru Kullanım

OAuth 2.0 ve OpenID Connect (OIDC), modern “ile giriş yap” akışlarının temelidir. Güçlüdürler ama sık yanlış kullanılırlar; ve kimlik akışındaki bir hata, doğrudan hesap ele geçirmeye dönüşebilir. Bu yazıda ikisinin farkını ve en yaygın güvenlik hatalarını ele alıyoruz.

Önce kavram: OAuth ≠ OIDC

Sık karıştırılan iki kavram:

  • OAuth 2.0 bir yetkilendirme çerçevesidir: “bu uygulamanın, benim adıma şu kaynağa erişmesine izin veriyorum.” Kimin giriş yaptığını doğrulamak onun asıl işi değildir.
  • OpenID Connect (OIDC), OAuth 2.0 üzerine kurulu bir kimlik doğrulama katmanıdır: “bu kullanıcı gerçekten kim?” sorusunu bir kimlik token’ı (ID token) ile yanıtlar.

Yaygın hata, OAuth’u kimlik doğrulama için “ödünç” kullanmaktır. Erişim token’ının varlığı “kullanıcı giriş yaptı” anlamına gelmez; kimlik doğrulama için OIDC ve doğrulanmış ID token gerekir.

Yaygın güvenlik hataları

  1. Gevşek yönlendirme URI (redirect_uri): Yetkilendirme kodu/token, kayıtlı yönlendirme adresine gönderilir. Bu adres gevşek eşleştirilirse (açık yönlendirme veya joker), saldırgan kodu/token’ı kendi adresine yönlendirebilir. Yönlendirme URI’lerini tam ve katı eşleştirin.
  2. PKCE kullanmamak: Özellikle mobil/SPA gibi “public” istemcilerde, yetkilendirme kodunun araya girilerek çalınmasına karşı PKCE (Proof Key for Code Exchange) kullanılmalıdır. Bugün önerilen varsayılandır.
  3. state parametresini atlamak: state, CSRF’ye benzer akış-sahteciliğine karşı korur; her istekte rastgele üretilip doğrulanmalıdır.
  4. Token’ları güvensiz saklamak: Erişim/yenileme token’larını güvensiz yerlerde (ör. XSS’e açık localStorage) tutmak, bir XSS’i hesap ele geçirmeye çevirir.
  5. Token’ları doğrulamamak: ID token’ın imzası, iss (yayıncı), aud (hedef) ve süresi doğrulanmalı; körlemesine güvenmek tehlikelidir.
  6. Aşırı geniş kapsam (scope): Uygulamaya yalnız gereken izinleri isteyin; “her şeye erişim” gereksiz risk biriktirir.

Özet

OAuth 2.0 yetkilendirme, OIDC kimlik doğrulama içindir; ikisini karıştırmak ilk hatadır. En kritik güvenlik önlemleri: yönlendirme URI’lerini katı eşleştirmek, public istemcilerde PKCE kullanmak, state ile akışı korumak, token’ları güvenli saklamak ve ID token’ı (imza/iss/aud/süre) doğrulamak. Bu akıştaki bir gevşeklik, doğrudan hesap ele geçirmeye yol açabilir.

Kaynaklar: OAuth 2.0 Security Best Current Practice (RFC 9700), OpenID Connect, OWASP: OAuth.

Kimlik akışlarınızın (yönlendirme, token) güvenliği doğru kurulmuş mu? CyberTestify’ın aktif doğrulama ve tam pentest paketleri, kimlik doğrulamalı akışları değerlendirir.