COMPUTER ENGINEER

Örneklere git
Blog
HTTP / HTTPS / TLS6 dk çalışma
44/ 70

OAuth 2.0, OIDC ve PKCE

Authorization Code + PKCE: adım adım

Redirect ile code exchange arasındaki kanıt zinciri.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Client yüksek entropili code_verifier üretir ve S256 dönüşümünden code_challenge hesaplar. Authorization request challenge, redirect_uri, client_id, scope ve gereken koruma alanlarını içerir. Kullanıcı authorization server’da doğrulanır ve onay verir; callback’e code döner. Client token endpoint’inde code, aynı redirect bağlamı ve verifier ile exchange yapar.

PKCE code’u alan aktörün ilk isteği başlatan verifier’a sahip olduğunu doğrulamaya yardım eder. Client secret yerine aynı şey değildir: confidential client authentication ve PKCE farklı tehditlere karşı çalışabilir. Public client browser veya native uygulamada kalıcı client secret saklayamaz. Redirect URI sıkı eşleşmeli; wildcard ve kullanıcı girdisiyle açık redirect güvenli varsayılmaz.

Code kısa ömürlü ve tek kullanımlı olmalıdır. Callback hatası, iptal, timeout ve tekrar açılan sekme gibi lifecycle durumlarını ele al. state ve nonce’nin rollerini sonraki derste ayrı öğren; PKCE hepsinin yerine geçen sihirli bir alan değildir. Hazır identity kütüphanesi kullan, token exchange ve metadata doğrulamasını elle kırılgan biçimde üretme. Browser’daki akışla server-side BFF akışı aynı secret saklama modeline sahip değildir.

NERESİNDE KULLANIRSIN?

Federated login akışını debug ederken.

SIK YAPILAN HATA

Browser’a client secret koymak veya PKCE’yi yetki kontrolü sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Create verifier → S256 challenge → authorisation request

Verifier paylaşılmaz; challenge ilk isteğe gider.

Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.

02 / SIRA SENDE

Önce kendin dene.

Callback code geldi ama verifier kayboldu. Rastgele yenisini üretmek yeterli mi?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
No: restart the authorisation flow safely.

Hayır. Yeni değer ilk challenge ile eşleşmez.