JWT
JWT (JSON Web Token)
İki taraf arasında talepleri güvenli şekilde temsil etmek için açık standart; veritabanı sorgusu olmadan kimlik ve izinleri doğrulayabilen dijital olarak imzalanmış, kompakt tokenlar kullanır.
Teknik Detay
JWT yapısı: Header.Payload.Signature, her biri Base64URL kodlanmış. Başlık: {"alg":"HS256","typ":"JWT"}. Payload talepleri içerir: kayıtlı (iss, sub, aud, exp, nbf, iat, jti), genel (IANA adları), özel (özel). İmza algoritmaları: HMAC (HS256/384/512 — paylaşılan simetrik anahtar), RSA (RS256/384/512 — asimetrik anahtar), ECDSA (ES256/384/512 — eliptik eğri, daha küçük imzalar), EdDSA (Ed25519 — en hızlı). Güvenlik açıkları: alg:none (reddedilmelidir), RS↔HS anahtar karışıklığı (RSA açık anahtarıyla HMAC doğrulama), XSS hırsızlığı (localStorage yerine httpOnly çerezde saklayın). Yenileme deseni: kısa ömürlü erişim token'ı (15 dakika) + uzun ömürlü yenileme token'ı (7 gün) rotasyonla. JWE, imzalamanın yanı sıra payload şifreleme sağlar.
Ornek
```javascript
// JWT: web API example
const response = await fetch('/api/resource');
const data = await response.json();
console.log(data);
```