Skip to main content
Siber Güvenlik

OAuth 2.0 ve JWT: Modern Kimlik Doğrulama ve Yetkilendirme Rehberi

Mart 29, 2026 3 dk okuma 3 views Raw
OAuth kimlik doğrulama güvenlik konsepti
İçindekiler

OAuth 2.0: Güvenli Erişim Yönetiminin Altın Standardı

Modern web ve mobil uygulamalarda kullanıcı kimlik doğrulama ve yetkilendirme, güvenliğin temel taşıdır. OAuth 2.0, üçüncü taraf uygulamaların kullanıcı kaynaklarına güvenli erişim sağlamasını mümkün kılan endüstri standardı bir yetkilendirme protokolüdür. "Google ile Giriş Yap" veya "GitHub ile Bağlan" butonlarının arkasında OAuth 2.0 çalışır.

Kimlik Doğrulama vs Yetkilendirme

Bu iki kavramı ayırt etmek kritik önem taşır:

  • Kimlik Doğrulama (Authentication): "Sen kimsin?" sorusunu yanıtlar. Kullanıcının iddia ettiği kişi olduğunu doğrular.
  • Yetkilendirme (Authorization): "Ne yapmana izin var?" sorusunu yanıtlar. Kullanıcının hangi kaynaklara erişebileceğini belirler.

OAuth 2.0 bir yetkilendirme protokolüdür. Kimlik doğrulama için üzerine inşa edilen OpenID Connect (OIDC) katmanı kullanılır.

OAuth 2.0 Nasıl Çalışır?

Temel Roller

  • Resource Owner: Kaynak sahibi — genellikle son kullanıcı
  • Client: Kaynaklara erişmek isteyen uygulama
  • Authorization Server: Token'ları veren sunucu (Google, GitHub vb.)
  • Resource Server: Korunan kaynakları barındıran API sunucusu

OAuth 2.0 Akış Türleri (Grant Types)

1. Authorization Code Flow

En güvenli ve en yaygın kullanılan akış. Sunucu taraflı uygulamalar için idealdir. Kullanıcı yetkilendirme sunucusuna yönlendirilir, onay verdikten sonra bir yetkilendirme kodu alınır ve bu kod token ile değiştirilir.

2. Authorization Code Flow with PKCE

Mobil ve SPA (Single Page Application) uygulamalar için güvenli versiyon. Client secret kullanmak yerine dinamik olarak oluşturulan code verifier/challenge çifti kullanır.

3. Client Credentials Flow

Kullanıcı etkileşimi olmayan makine-makine iletişimi için. Backend servisler arası API çağrılarında kullanılır.

4. Device Authorization Flow

Akıllı TV, IoT cihazları gibi giriş kapasitesi sınırlı cihazlar için tasarlanmıştır.

JWT (JSON Web Token) Nedir?

JWT, taraflar arasında bilgiyi güvenli şekilde iletmek için kullanılan kompakt ve bağımsız bir token formatıdır. OAuth 2.0'da erişim token'ı olarak yaygın şekilde kullanılır.

JWT'nin Üç Bileşeni

  1. Header: Token türü ve imzalama algoritması bilgisi
  2. Payload: Kullanıcı bilgileri ve talepler (claims) — kullanıcı ID, roller, süre sonu
  3. Signature: Header ve payload'ın gizli anahtar ile imzalanması

JWT Avantajları

  • Durumsuz (Stateless): Sunucuda oturum bilgisi tutmaya gerek yoktur
  • Ölçeklenebilir: Yük dengeleyici arkasında çoklu sunucu ile sorunsuz çalışır
  • Platform Bağımsız: Web, mobil ve API istemcilerinde kullanılabilir
  • Kompakt: HTTP header'larında kolayca taşınabilir

Güvenlik En İyi Pratikleri

Token Yönetimi

  • Erişim token sürelerini kısa tutun (15 dakika önerilir)
  • Uzun süreli oturumlar için refresh token kullanın
  • Token'ları localStorage'da saklamayın — httpOnly cookie tercih edin
  • Token iptal mekanizması (revocation) uygulayın

Genel Güvenlik

  • Tüm iletişimlerde HTTPS zorunlu kılın
  • CORS politikalarını doğru yapılandırın
  • CSRF koruması uygulayın
  • Scope'ları minimum yetki prensibiyle tanımlayın
  • Hassas bilgileri JWT payload'ına koymayın

OAuth 2.0 Sağlayıcıları

SağlayıcıÖzellikEn Uygun Kullanım
Auth0Kapsamlı, kolay entegrasyonHer ölçekte uygulama
KeycloakAçık kaynak, self-hostedKurumsal uygulamalar
Firebase AuthGoogle ekosistemi, ücretsiz başlangıçMobil ve web uygulamalar
OktaKurumsal kimlik yönetimiBüyük ölçekli kuruluşlar
Azure AD B2CMicrosoft entegrasyonuMicrosoft ekosistemi

Sonuç

OAuth 2.0 ve JWT, modern uygulamaların güvenlik altyapısının temelini oluşturur. Doğru akış türünü seçmek, token yönetimini güvenli şekilde uygulamak ve güvenlik en iyi pratiklerini takip etmek, kullanıcılarınızın verilerini korumak için hayati önem taşır. Ekolsoft olarak, güvenli kimlik doğrulama ve yetkilendirme çözümleri ile uygulamalarınızı koruma altına alıyoruz.

Bu yazıyı paylaş