Authentication · Kimlik doğrulama
JWT doğrulama: imza, issuer, audience ve JWKS
Decode edilen token neden güvenilir değildir?
Kavramı anlayalım
JWT bir veri biçimidir; her access token JWT olmak zorunda değildir. İmzalı JWT payload’ı genellikle okunabilir; imza gizlilik sağlamaz. JWE ayrı bir şifreleme biçimidir. Token’ı decode edip sub veya role alanına güvenmek saldırganın yazdığı metne güvenmek olabilir. Doğrulayıcı imzayı güvenilir anahtarla ve beklenen algoritmayla kontrol etmelidir.
Issuer token’ı veren güven alanını, audience token’ın hedef API’sini belirtir. Expiration ve not-before zamanları kontrollü clock skew ile denetlenir. Scope ve rol claim’leri doğrulansa bile istenen işlemin policy’si ayrıca yürütülür. Bir API başka API için verilmiş token’ı kabul etmemelidir. ID token genellikle kullanıcı oturumunu istemciye bildirir; API access token yerine gönderilmez.
JWKS anahtar rotasyonunu destekler. kid hangi anahtarın aday olduğunu belirtebilir; key URL’sini token’dan kör almak güvenli değildir. Metadata ve anahtarlar güvenilir issuer yapılandırmasından gelir. Cache, rollover ve bulunamayan key yenilemesi kontrollü yapılır; her hatalı token’da sınırsız network çağrısı üretme. Loga ham token basma. Eğitim örneği doğrulama kontrol listesidir; kriptografiyi kendin yazmak yerine güvenilir handler kullan.
API token doğrulaması ve key rollover teşhisinde.
JWT okunuyor diye geçerli veya imzalı diye şifreli sanmak.
Aynı konu. Üç farklı derinlik.
Decode ≠ verifyPayload okumak yalnız biçimi açar.
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.
Önce kendin dene.
İmza doğru ama aud başka API’yi gösteriyor. Kabul edilir mi?
Çözümü ve açıklamasını göster
Reject: audience mismatchHayır. Güvenilir issuer her hedefe aynı yetkiyi vermez.