JWT (JSON Web Token), yetkilendirme ve kimlik bilgisi taşımak için kullanılan, kompakt, URL-safe ve dijital imzalı JSON tabanlı token formatıdır.
JWT Yapısı
HEADER . PAYLOAD . SIGNATURE
eyJhbGciOi... . eyJzdWIiOi... . SflKxw...
- Header: Algoritma (HS256, RS256)
- Payload: Claims (sub, exp, iat, role vb.)
- Signature: Header + Payload'un imzası
Yaygın Claims
sub- kullanıcı IDexp- süre sonuiat- oluşturulma zamanıaud- hedef kitleiss- token sağlayıcı
Ödeme Sistemlerinde Kullanım
- OAuth 2.0 access token formatı (genelde JWT)
- API yetkilendirme
- Mikroservisler arası kimlik bilgisi taşıma
- Webhook authentication (alternatif)
Güvenlik İpuçları
- Asla payload'a şifre/sırrı koyma - imzalı ama şifreli değil
- Kısa exp süresi (15-60 dk)
- Refresh token ayrı saklanmalı
- Sunucu tarafı blacklist (logout için)
Örnek Kullanım
- Birçok API, yetkilendirmede JWT ve refresh token yapısını birlikte kullanır.
- JWT içeriği şifreli değil, yalnız kodlanmıştır; bu yüzden içine gizli bilgi konmamalıdır.