COMPUTER ENGINEER

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

Authentication · Kimlik doğrulama

JWT doğrulama: imza, issuer, audience ve JWKS

Decode edilen token neden güvenilir değildir?

AnlaÖrneği inceleKendin uygula

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.

NERESİNDE KULLANIRSIN?

API token doğrulaması ve key rollover teşhisinde.

SIK YAPILAN HATA

JWT okunuyor diye geçerli veya imzalı diye şifreli sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Decode ≠ verify

Payload 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.

02 / SIRA SENDE

Ö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
Açıklamalı çözüm
Reject: audience mismatch

Hayır. Güvenilir issuer her hedefe aynı yetkiyi vermez.