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
- API yetkilendirmemiz JWT + refresh token paterni ile çalışıyor.
- JWT payload'una sadece public bilgi koyduğumuza emin olduk.