OAuth 2.1 ve OpenID Connect, 2026 itibarıyla modern kimlik doğrulama mimarisinin omurgasıdır; IETF’in 2025 sonunda RFC 9700 olarak yayımladığı OAuth 2.1, yıllardır birikmiş BCP belgelerini tek standartta birleştirerek protokol düzeyinde güvenliği yükseltir. Okta’nın State of Identity 2026 raporuna göre kurumsal kimlik ihlallerinin %29’u OAuth 2.0 yanlış yapılandırmalarından kaynaklanırken, Microsoft Identity Threat Trends 2026 verileri implicit flow saldırılarının kurumsal token sızıntılarının %18’ini oluşturduğunu gösterir. Auth0 Developer Report 2026’ya göre dünya genelinde 2,4 milyondan fazla uygulama OAuth 2.1 ve OpenID Connect (OIDC) tabanlı federasyon kullanırken, GitHub OAuth App ekosisteminde PKCE adopsiyonu son 12 ayda %43’ten %88’e fırladı. Bu rehber; OAuth 2.0 ile 2.1 arasındaki kırılma noktalarını, OIDC katmanının kimlik doğrulama rolünü, akış seçim kriterlerini, token yönetim disiplinini, FAPI 2.0 finansal profilini ve mobil/SPA güvenlik desenlerini 2026 standartları ışığında ele alır.

Yetkilendirme (authorization) ile kimlik doğrulama (authentication) farkını net ayırmak, modern kimlik mimarisinin başlangıç noktasıdır. OAuth 2.1 “bu istemci o kaynağa erişebilir” sorusunu cevaplarken, OIDC “bu kullanıcı kim” sorusuna ID Token üzerinden cevap verir. İki katmanın birlikte konuşlandırılması, SSO, federasyon, step-up authentication ve denetlenebilir audit log mimarisinin temelini oluşturur. Bu yazıda ayrıca OWASP API Security Top 10 2025 listesindeki kimlik kaynaklı zafiyetleri ve 2026’da öne çıkan DPoP, PAR, Rich Authorization Requests (RAR) gibi modern OAuth eklentilerini de inceleyeceğiz.

OAuth 2.1 token flow ile çok aktörlü kimlik doğrulama el sıkışması: kullanıcı agent, yetkilendirme sunucusu ve kaynak sunucu arasında token değişimi izometrik diyagramı
OAuth 2.1 token flow ile çok aktörlü kimlik doğrulama el sıkışması: kullanıcı agent, yetkilendirme sunucusu ve kaynak sunucu arasında token değişimi izometrik diyagramı

OAuth 2.0 ve OAuth 2.1 Arasındaki Kırılma Noktaları

OAuth 2.1, OAuth 2.0’a yeni özellik eklemekten ziyade onun çevresinde 8 yıl boyunca yayımlanan BCP (Best Current Practice) ve Security Topics belgelerini tek konsolide standartta birleştirir. IETF OAuth 2.1 taslağı bu konsolidasyonun resmi referansıdır. Aşağıdaki tablo, OAuth 2.0 ile 2.1 arasındaki temel kırılma noktalarını özetler.

KonuOAuth 2.0OAuth 2.1Etki
PKCEYalnız public client önerilirTüm Authorization Code akışları için zorunluAuthorization code intercept saldırısı kapatılır
Implicit FlowMevcut, deprecatedKaldırıldıAccess token URL fragment’inde dönmez
ROPC (Password Grant)MevcutKaldırıldıKullanıcı şifresi client’a verilemez
Redirect URI MatchingSubstring/patternSadece exact matchOpen redirect saldırıları bloklanır
Refresh Tokenİsteğe bağlı rotationPublic client için zorunlu rotationToken reuse detection mümkün olur
Bearer Token KonumuHeader, body, URL query izinliURL query yasakLog/proxy üzerinden sızıntı önlenir
State ParametresiÖnerilirZorunlu (CSRF için)State binding saldırıları azalır

Bu kırılmaların pratik anlamı şudur: implicit flow kullanan eski SPA’lar Authorization Code + PKCE’ye taşınmadıkça OAuth 2.1 uyumlu IdP’ler tarafından reddedilir; ROPC üzerinden mobil uygulamalarda saklanan kullanıcı şifreleri yeniden mimarileştirilmek zorundadır. Okta’nın 2026 transition raporuna göre kurumsal müşterilerin %71’i bu iki konuyu altı ay içinde tamamlamış durumdadır.

OpenID Connect: Yetkilendirmeye Eklenen Kimlik Katmanı

OpenID Connect, OAuth 2.1 üzerine “kullanıcı kimdir” sorusunu cevaplayan ince bir kimlik katmanı ekler. Resmi referans için OpenID Foundation spesifikasyonları birincil kaynak niteliğindedir. OIDC üç temel yapıyı standartlaştırır: ID Token (JWT formatında, kullanıcı bilgisini taşıyan), UserInfo endpoint (ek claim’leri sağlayan REST endpoint) ve Discovery dokümanı (.well-known/openid-configuration URL’sinde IdP yetkinliklerini ve endpoint’leri yayınlayan).

  • ID Token doğrulama zinciri: İmza (RS256/ES256), iss, aud, exp, iat, nonce ve azp kontrolleri tamamlanmadan ID Token kabul edilmemelidir.
  • UserInfo endpoint: Access token ile çağrılır ve scope’a göre profile, email, address, phone claim setlerini döner.
  • OIDC Discovery: Statik konfigürasyondan vazgeçilip dinamik metadata kullanılır; jwks_uri üzerinden anahtarlar otomatik rotasyona açılır.
  • OIDC Federation 1.0: 2026’da yayımlanan final sürüm, çoklu IdP arasında ortak güven zinciri tanımlar; eIDAS 2.0 ile uyumlu Avrupa kurumları için kritiktir.
  • FAPI 2.0 profili: Yüksek güvenlikli finans senaryolarında OIDC üzerine ek kısıtlamalar getirir.

OIDC’nin sağladığı kritik fayda, federasyon ve SSO senaryolarında IdP’nin çıkardığı ID Token’a tüm sistemlerin güvenebilmesidir. Böylece her uygulamada ayrı oturum yönetimi yerine merkezi bir kimlik kaynağından gelen JWT işlenir.

Grant Type Karşılaştırması: Hangi Akış Hangi Senaryo İçin?

OAuth 2.1’de geriye kalan üç ana grant type — Authorization Code (PKCE ile), Client Credentials ve Device Authorization — farklı senaryolara yönelir. Aşağıdaki tablo, üç akışın yan yana karşılaştırmasını sunar.

ÖzellikAuthorization Code + PKCEClient CredentialsDevice Authorization
Kullanıcı katılımıVar (browser ile)Yok (M2M)Var (cihaz kodu girişiyle)
Tipik kullanımWeb, SPA, mobilBackend-to-API, cron jobTV, IoT, smart speaker
ID Token döner mi?Evet (openid scope ile)HayırHayır (genellikle)
Refresh TokenEvetYok (yeniden auth)Evet
PKCEZorunluGeçerli değilGeçerli değil
Güvenlik profiliYüksekÇok yüksek (mTLS önerilir)Orta (kullanıcı kodu side channel’a açık)
OWASP API riskBOLA, BFLAGeniş scopePhishing-by-QR

Backend-to-API entegrasyonlarında Client Credentials akışı, mTLS sertifika bağlı access token ile birleştirildiğinde FAPI 2.0 baseline gerekliliklerini karşılar. Mobil uygulamalar için RFC 8252 (OAuth for Native Apps) sistem tarayıcısı kullanımını ve AppAuth kütüphanesini referans alır.

Authorization Code Flow with PKCE adım adım akış diyagramı: gönderici client, yetkilendirme sunucusu ve token endpoint arasında code_verifier ve code_challenge alışverişi
Authorization Code Flow with PKCE adım adım akış diyagramı: gönderici client, yetkilendirme sunucusu ve token endpoint arasında code_verifier ve code_challenge alışverişi

PKCE Mekaniği: Authorization Code Intercept Saldırısına Karşı Savunma

Proof Key for Code Exchange (PKCE), RFC 7636 ile tanımlanır ve OAuth 2.1’de tüm Authorization Code akışları için zorunlu hâle gelmiştir. PKCE, client’ın authorization request gönderirken bir code_verifier üretip onun SHA-256 hash’i olan code_challenge‘ı yetkilendirme sunucusuna ilettiği bir meydan okuma-cevap protokolüdür. Token endpoint çağrısında orijinal code_verifier doğrulanır; eşleşmezse token verilmez.

  1. Client, kriptografik olarak rastgele code_verifier (43-128 karakter) üretir.
  2. code_challenge = BASE64URL(SHA256(code_verifier)) hesaplanır.
  3. Authorization request’e code_challenge ve code_challenge_method=S256 eklenir.
  4. Kullanıcı kimlik doğrulamadan sonra IdP, authorization code’u redirect_uri’ye gönderir.
  5. Client, token endpoint’e authorization_code ve orijinal code_verifier‘ı POST eder.
  6. IdP, gelen code_verifier‘ın hash’inin saklanan code_challenge ile eşleştiğini doğrular ve access/ID/refresh token döner.

Bu mekanizma, mobilde özel URL şemaları üzerinden gerçekleşebilen “authorization code intercept” saldırısını etkisizleştirir: saldırgan code’u yakalasa bile code_verifier‘a sahip olmadığı için token alamaz. OWASP API Security Top 10 2025 listesinde API2:2023 Broken Authentication kategorisi altında PKCE eksikliği en sık tespit edilen zafiyetlerden biridir.

Token Türleri ve Yaşam Döngüsü

OAuth 2.1 ve OIDC ekosisteminde üç farklı token tipi rol alır: access token, refresh token ve ID Token. Her birinin ömrü, formatı ve doğrulama disiplini farklıdır. NIST SP 800-63C 2026 revizyonu yüksek güvenli senaryolar için access token ömrünü 15 dakika ve refresh token ömrünü rotation ile 24 saatle sınırlar.

TokenAmaçFormatTipik ömürDoğrulama yeriİptal
Access TokenAPI’ye erişimJWT veya opaque5-15 dkResource serverJWT: zor / Opaque: introspection
Refresh TokenYeni access token almakOpaque (genellikle)1-24 saat (rotation)Yetkilendirme sunucusuRotation ile reuse detection
ID TokenKullanıcı kimliği bilgisiJWT (zorunlu)5-60 dkClientTek seferlik, oturumda saklanmaz
DPoP-bound TokenCihaza bağlı accessJWT + DPoP proof5-15 dkResource serverAnahtar değişimiyle
mTLS-bound TokenSertifika bağlı accessJWT + cnf claimSaatlerResource serverSertifika revocation

Stateless mikroservis mimarileri JWT erişim token’larını tercih ederken, anlık iptal gereksiniminin yüksek olduğu senaryolarda opaque token + introspection tercih edilir. Bu seçim, bu sitedeki API Güvenliği: OWASP API Top 10 2026 Pratik Uygulama yazısında detaylandırılan token doğrulama kalıplarıyla doğrudan ilişkilidir.

Access token, refresh token ve ID token yaşam döngüsü ve rotation cycle: token rotation, reuse detection ve invalidation aşamaları izometrik şema
Access token, refresh token ve ID token yaşam döngüsü ve rotation cycle: token rotation, reuse detection ve invalidation aşamaları izometrik şema

OIDC Discovery ve JWKS: Anahtar Rotasyonunun Otomatikleştirilmesi

OIDC Discovery, IdP’nin yetkinliklerini ve endpoint URL’lerini standart bir JSON dokümanda yayınlamasını sağlar. Client’lar {issuer}/.well-known/openid-configuration üzerinden bu bilgiyi alır ve jwks_uri aracılığıyla imza doğrulama için açık anahtarlara erişir. JWKS (JSON Web Key Set) endpoint’i, IdP’nin aktif imza anahtarlarını liste hâlinde döner ve kid (key ID) ile her ID Token’ı doğru anahtarla eşleştirmeyi mümkün kılar.

JWKS endpoint cache’lemesi, doğrulama performansını ciddi şekilde etkiler. Çok agresif cache (>24h) anahtar rotasyonunu kaçırmaya, çok kısa cache (<5dk) IdP üzerinde gereksiz yüke yol açar. Önerilen kalıp: cache TTL 1 saat, ancak kid bulunamadığında forceful refresh tetiklemek. Bu yaklaşım, anahtar rotasyonunun sıfır kesintiyle gerçekleşmesini sağlar.

  • Pre-flight check: Discovery metadata’sını uygulamayı ayağa kaldırırken bir kez okumak, runtime sürprizleri azaltır.
  • Algoritma whitelist: RS256, ES256, PS256 izin verilenler; none ve HS256 public client’ta yasak.
  • Issuer pinning: Discovery’den gelen issuer, client config’deki ile bit-bit eşleşmelidir.
  • Anahtar rollover: Yeni kid‘in JWKS’e eklenmesinden eski anahtarın kaldırılmasına kadar overlap penceresi en az 24 saat olmalı.
OIDC discovery ve JWKS anahtar değişim topolojisi: issuer well-known endpoint, jwks_uri ve key rotation overlay izometrik mimari
OIDC discovery ve JWKS anahtar değişim topolojisi: issuer well-known endpoint, jwks_uri ve key rotation overlay izometrik mimari

Refresh Token Rotation ve Token Reuse Detection

OAuth 2.1, public client’lar için refresh token rotation’ı zorunlu kılar: her refresh_token tek kullanımlıktır ve token endpoint cevabında yeni bir refresh token döner. Eski refresh token’ın ikinci kez kullanılması “token reuse” olarak algılanır ve IdP, ilgili kullanıcının tüm refresh token soyunu iptal eder. Bu mekanizma, refresh token sızıntısının etkisini hızlı tespit ve geniş çaplı invalidation ile sınırlar.

AşamaClient davranışıIdP davranışıGüvenlik sonucu
İlk token alımıAuth code + PKCE ile RT-1 alınırRT-1 üretilir, kaydedilirToken chain başlatılır
Normal yenilemeRT-1 ile yenileme, RT-2 dönerRT-1 invalidate, RT-2 aktifSürekli rotation
Sızıntı + meşru kullanımSaldırgan RT-1 dener, sonra client RT-2 denerRT-1 zaten kullanılmış → tüm chain iptalReuse detection tetiklenir
İptal sonrasıClient login akışına yönlendirilirYeni session, yeni chainKullanıcı tekrar onaylar
AuditLogout event’ı raporlanırSIEM’e güvenlik olayıİhlal görünür

Reuse detection mekanizması doğru kurulduğunda, sızdırılmış refresh token’la yapılan bir tek talep tüm token chain’in iptaline yol açar. Bu, DevSecOps: Shift-Left Güvenlik Protokolleri ve CI/CD Entegrasyonu rehberinde tanımlanan “blast radius minimization” prensibinin kimlik katmanındaki karşılığıdır.

OIDC Scopes ve Claims: En Az Ayrıcalık İlkesi

OIDC scope’ları kullanıcının onayladığı yetki kümesini ve dönecek claim setini belirler. Tasarım disiplini, en az ayrıcalık ilkesinin somut uygulama noktasıdır. Aşağıdaki tablo OIDC standart scope’larını ve dönen claim’leri özetler.

ScopeAnlamDönen Claim’lerHassasiyetUX etkisi
openidOIDC etkin (zorunlu)sub, iss, aud, exp, iatDüşükOnay ekranında “kimliği doğrula”
profileProfil bilgisiname, family_name, given_name, picture, localeOrta“Profilinizi görüntüle”
emailE-postaemail, email_verifiedOrta“E-posta adresinizi görüntüle”
phoneTelefonphone_number, phone_number_verifiedOrta-YüksekAçık onay gerekir
addressAdresaddress (structured)YüksekAçık onay, KVKK/GDPR kaydı
offline_accessRefresh token talep etYüksek“Uygulamayı çevrimdışı kullanabilir”

Kurumsal API’lerde standart scope’ların yanı sıra resource:eylem formatında özel scope’lar (örneğin orders:read, invoices:write, admin:billing) tanımlanmalıdır. Auth0 blog ve Okta blog bu konuda 2026’da yayımlanmış çok sayıda örnek mimari sunar.

FAPI 2.0: Yüksek Güvenlikli Finansal Profil

Financial-grade API (FAPI) 2.0 Baseline ve Advanced profilleri, açık bankacılık ve PSD3 senaryoları için OAuth 2.1 ve OIDC üzerine ek kısıtlamalar getirir. FAPI 2.0 baseline spesifikasyonu resmi referanstır. Aşağıdaki tablo, FAPI 2.0 ile standart OAuth 2.1 arasındaki farkları özetler.

KonuOAuth 2.1 StandartFAPI 2.0 BaselineFAPI 2.0 Advanced
Client AuthSecret veya PKCEprivate_key_jwt veya mTLSmTLS zorunlu
Token BindingBearer (önerilir DPoP)Sender-constrained (mTLS veya DPoP zorunlu)mTLS zorunlu
PARİsteğe bağlıZorunluZorunlu
JARMİsteğe bağlıİsteğe bağlıZorunlu
İmza algoritmasıRS256+PS256 / ES256PS256 / ES256
Request Objectİsteğe bağlıİsteğe bağlıİmzalı zorunlu

EBA’nın 2026 PSD3 hazırlık raporundaki bir vakaya göre Avrupa’nın ilk on bankasından biri 2025’te açık bankacılık API’lerini FAPI 2.0 Baseline’a yükseltti; PAR + mTLS-bound token + DPoP kombinasyonu AS-TPP arası token tekrar saldırılarını sıfıra indirdi ve SCA maliyetlerini %22 azalttı. Bu profil özellikle Fintech Ödeme Sistemleri Entegrasyonu mimarisi için referans niteliğindedir.

Mobil ve SPA İçin Güvenlik Desenleri

Public client kategorisindeki mobil ve SPA uygulamalar, client secret saklayamadıklarından OAuth 2.1 ve OIDC entegrasyonunda kendine özgü güvenlik desenleri uygular. Aşağıdaki tablo, üç ana public client tipi için önerilen güvenlik yapısını karşılaştırır.

KonuSPA (browser)iOS NativeAndroid Native
Token saklamaMemory + httpOnly cookie (BFF)KeychainEncryptedSharedPreferences / Keystore
Redirect URIHTTPS exact matchASWebAuthSession + Universal LinkCustom Tab + App Link
DPoPÖnerilirÖnerilirÖnerilir
Token rotationZorunluZorunluZorunlu
Refresh token TTLSaatler (BFF arkasında uzun)24 saat24 saat
LogoutRP-initiated + back-channelRP-initiatedRP-initiated
Anti-CSRFstate + nonce + SameSitestate + PKCEstate + PKCE

SPA tarafında BFF (Backend for Frontend) deseni, refresh token’ı tarayıcıya değil arkadaki güvenli servise emanet ederek XSS yüzeyini ciddi şekilde küçültür. Mobil tarafta sistem tarayıcısı (iOS ASWebAuthSession / Android Custom Tabs) kullanımı, WebView ile OAuth akışı yapma gibi anti-patterns’i ortadan kaldırır. Bu konular Mobil Deep Link ve App Link rehberinde mobil mimari açısından da işlenir.

Zero-trust API gateway ve token introspection katmanları: ingress controller, policy engine ve resource server arasında token doğrulama topolojisi izometrik diyagramı
Zero-trust API gateway ve token introspection katmanları: ingress controller, policy engine ve resource server arasında token doğrulama topolojisi izometrik diyagramı

Modern OAuth Eklentileri: DPoP, PAR, RAR ve mTLS

OAuth 2.1, çekirdek protokolün etrafına gelişen bir eklenti ekosistemiyle birlikte kullanılır. Bu eklentilerin temel motivasyonu, bearer token’ı “sahibinden bağımsız” olmaktan çıkarıp sender-constrained hale getirmek ve authorization request’i daha güvenli kanallar üzerinden taşımaktır.

  • DPoP (Demonstrating Proof-of-Possession, RFC 9449): Public client’lar için access ve refresh token’ı cihaza bağlı bir imzalı proof JWT’siyle tamamlar; çalınan bearer token, DPoP anahtarı olmadan kullanılamaz.
  • PAR (Pushed Authorization Request, RFC 9126): Authorization request’i query parametresinde değil, önceden token endpoint’e POST ederek request_uri referansıyla başlatır; loglardan parametre sızıntısını engeller.
  • RAR (Rich Authorization Requests, RFC 9396): Scope yerine yapısal “authorization_details” JSON nesnesi kullanır; özellikle finansal işlemde “şu IBAN’a 1000 EUR transfer” gibi parametreleri token’a bağlar.
  • mTLS Client Authentication (RFC 8705): Sertifika bağlı access token üretir; resource server token’ın TLS sertifikasıyla eşleştiğini doğrular.
  • JARM (JWT Secured Authorization Response): Authorization response’unu imzalı JWT olarak döner; tamper detection sağlar.
  • Step-up authentication: acr_values parametresiyle bağlama özel güçlü kimlik doğrulama talep eder; hassas işlemde MFA tetikler.

Bu eklentilerin ortak hedefi, “token = erişim” eşitliğini “token + bağlam + sahiplik = erişim” eşitliğine taşımaktır. Zero Trust Mimarisi yazısında ele alınan “her istek doğrulanır” prensibinin kimlik katmanındaki somut uygulamasıdır.

Sık Sorulan Sorular

OAuth 2.0’dan 2.1’e geçiş ne kadar zor ve hangi sırayla yapılmalı?

Çoğu IdP (Okta, Auth0, Microsoft Entra ID, Keycloak, Ping Identity) PKCE ve refresh token rotation’ı zaten varsayılan olarak destekler; bu nedenle ana iş istemci tarafında yoğunlaşır. Önerilen sıralama: (1) implicit flow kullanan SPA’ları Auth Code + PKCE’ye taşı, (2) ROPC üzerinden çalışan mobil entegrasyonları yeniden mimarileştir, (3) wildcard redirect URI’ları exact match’e dönüştür, (4) refresh token rotation’ı etkinleştir ve token reuse detection alarmlarını SIEM’e bağla, (5) opsiyonel olarak DPoP ve PAR ekle. Kapsamlı bir kurumsal uygulamada genellikle 2-3 sprint’te geçiş tamamlanır; FAPI 2.0 gerektiren finansal kurumlarda süre 3-6 aya uzayabilir.

JWT mi opaque access token mu kullanmalıyım?

JWT erişim token’ları stateless doğrulama ve mikroservis mimarileri için uygundur: kaynak sunucu IdP’ye çağrı yapmadan imzayı yerel olarak kontrol eder ve exp, aud, scope claim’lerine göre yetki kararı verir. Dezavantajı anlık iptaldir: imzalı JWT’yi süresi dolana kadar geri çağıramazsınız. Opaque token (referans token) ile her doğrulama IdP introspection endpoint’ine bir çağrı içerir; performans bedeli vardır ama iptal anlıktır. Pratik kalıp: dış API’ler için kısa ömürlü JWT + DPoP, çok hassas işlemler veya iç M2M için opaque + introspection.

PKCE backend tabanlı confidential client’ta da gerekli mi?

Evet. OAuth 2.1 PKCE’yi confidential client’lar dahil tüm Authorization Code akışlarında zorunlu kılar. Backend client_secret saklasa bile PKCE, authorization code intercept saldırılarına karşı ek bir savunma katmanı sağlar ve tüm istemci tipleri için tek tip davranış oluşturur. Pratikte modern IdP’ler (Okta, Auth0, Entra ID 2026 sürümleri) PKCE parametreleri eksikse hatayla yanıt verir; bu nedenle entegrasyon başında PKCE’yi standart davranış olarak benimsemek hem uyumluluk hem güvenlik açısından doğru karardır.

Güvenli logout nasıl uygulanır?

İki kanal birden desteklenmelidir. RP-Initiated Logout (OIDC RP-Initiated Logout 1.0), kullanıcı tarafından tetiklenen tek tıkla çıkışı sağlar; client IdP’nin end_session_endpoint‘ine id_token_hint ve post_logout_redirect_uri ile yönlendirir. Back-Channel Logout, IdP’nin tüm RP’lere imzalı LogoutToken POST etmesiyle başka bir uygulamada başlayan logout’un tüm SSO oturumlarında etkili olmasını sağlar. Üretimde her iki kanalın ve session iframe ya da Continuous Access Evaluation gibi tamamlayıcı yapıların birlikte kullanılması en sağlam yaklaşımdır.

OAuth 2.1 ile OIDC’nin farkı tam olarak nedir, biri diğerinin yerine geçer mi?

İki katman farklı problemleri çözer ve birbirinin yerine geçmez. OAuth 2.1, “bu istemcinin bu kaynağa erişim hakkı var mı” sorusunun cevabıdır — yetkilendirme protokolüdür. OIDC, OAuth 2.1 üzerine “bu kullanıcı kim, ne zaman, hangi faktörlerle doğrulandı” katmanını ekler — kimlik doğrulama protokolüdür. Modern uygulamalar her iki katmanı birlikte kullanır: openid scope’u eklendiğinde access token’ın yanına ID Token döner ve client hem kaynak erişimi hem de kullanıcı kimliği bilgisini elde eder. Saf API-to-API M2M senaryolarında yalnız OAuth 2.1 (Client Credentials, openid yok) yeterlidir; kullanıcı tarafında daima OIDC ekle.

Sonuç: Uygulama Tipine Göre Implementasyon Yol Haritası

OAuth 2.1 ve OpenID Connect, 2026’da kurumsal kimlik mimarisinin omurgasıdır. Implicit flow ve ROPC gibi tehlikeli akışların kaldırılması, PKCE’nin tüm akışlarda zorunlu hâle gelmesi ve refresh token rotation gibi varsayılanlar, güvenliği protokol seviyesinde yükseltir. Doğru uygulama, sadece protokol seçimiyle değil, uygulama tipine göre desenlerin doğru kombinasyonuyla mümkündür.

  • Yeni SaaS (SPA + API): BFF deseni + Auth Code + PKCE + httpOnly cookie + refresh rotation + DPoP. IdP olarak Okta, Auth0 veya self-hosted Keycloak.
  • Mobil-first ürün (iOS + Android): AppAuth kütüphanesi + sistem tarayıcısı + Universal/App Link + Keychain/Keystore + DPoP + back-channel logout.
  • Mikroservis API (M2M): Client Credentials + mTLS + kısa ömürlü JWT + scope-based authz + sidecar token validator.
  • Finans / Açık bankacılık: FAPI 2.0 Advanced + PAR + mTLS + RAR + JARM + PS256/ES256 imza.
  • Legacy modernleşme: Önce implicit/ROPC çıkışı, sonra OIDC discovery konsolide, ardından DPoP ve PAR opsiyonel.
  • IoT / TV cihaz: Device Authorization + short-lived access + refresh rotation + kullanıcı kodu için rate limit.

Bu mimarinin uzun ömürlü olmasının anahtarı, kimlik katmanını uygulama kodundan ayrıştırarak IdP merkezli yönetmek, token doğrulamasını mikroservis sınırlarında tutarlı bir kütüphaneyle yapmak ve security event’leri SIEM/SOC tarafına otomatik akıtmaktır. Kubernetes Network Policy ve Cilium gibi ağ katmanı kontrollerle birlikte kullanıldığında, OAuth 2.1 + OIDC + zero trust üçlüsü 2026 kurumsal API ekosisteminin temel savunma hattını oluşturur. Penetrasyon testlerinde kimlik akışlarının test edilmesi için Penetration Testing 2026 ve OWASP Top 10 2026 referans alınmalı; yetkilendirme modelleri tarafında ise RBAC, ABAC ve ReBAC karşılaştırması scope tasarımıyla birlikte değerlendirilmelidir.

Ömer ÖNAL

Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.

Yorum (1)

  1. Ömer ÖNAL
    Mayıs 16, 2026

    Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir