JWT (JSON Web Token) Header, Payload Çözücü & Süre (Exp) Hata Ayıklayıcı
JSON Web Token (JWT) dizelerini istemci tarafında güvenle decode edin; Header, Claims (Payload), algoritma türü ve token son kullanma süresi (Expiration/exp) canlı kalan zamanını inceleyin.
JWT Dizesini Yapıştırın
🔒 Gizlilik Garantisi: JWT token çözümleme işlemi tamamen tarayıcınızda JavaScript ile yerel olarak gerçekleşir. Gizli token anahtarları sunucumuza asla iletilmez.
Token Header & Payload Çözümü
HEADER: Algoritma & Belge Türü
PAYLOAD: Veri & Süre (Claims)
JSON Web Token (JWT) Nedir ve Nasıl Çalışır?
JSON Web Token (JWT), RFC 7519 açık standardı ile tanımlanmış, taraflar arasında güvenli, kompakt ve bağımsız (self-contained) JSON nesneleri iletmek için kullanılan modern bir kimlik doğrulama ve yetkilendirme standardıdır. Günümüz web ve mobil uygulamalarında, RESTful API mimarilerinde ve mikroservis ekosistemlerinde oturum yönetiminin (Session Authentication) yerini almıştır.
JWT'nin 3 Temel Anatomik Katmanı
Her JWT, Base64Url formatında kodlanmış ve birbirine nokta (.) karakteri ile bağlanmış 3 parçadan meydana gelir:
1. Header (Başlık): Token'ın türünü (tipik olarak "JWT") ve imzalama algoritmasını (örneğin HMAC SHA256 veya RSA) içerir.
2. Payload (Gövde & Talepler): Kullanıcı kimliği (sub), veriliş tarihi (iat), geçerlilik süresi (exp) ve özel roller gibi verileri (claims) barındırır.
3. Signature (Dijital İmza): Kodlanmış Header, kodlanmış Payload ve sunucuda saklanan gizli bir anahtar (secret key) kullanılarak üretilir. Token'ın aktarım sırasında üçüncü taraflarca manipüle edilmediğini doğrular.
1. Hassas Verileri Payload'a Koymak: JWT şifrelenmiş (encrypted) değil, yalnızca Base64 ile kodlanmıştır. Token'ı gören herkes payload içindeki kullanıcı adı, e-posta ve roller gibi verileri okuyabilir. Kesinlikle parola veya gizli anahtar yazılmamalıdır.
2. localStorage'da Saklamak (XSS Tehlikesi): Web tarayıcılarında JWT'yi localStorage içinde saklamak, sitedeki olası bir XSS açığında token'ın çalınmasına yol açar. En güvenli yöntem token'ı HttpOnly, Secure, SameSite=Strict çerezlerinde (cookie) barındırmaktır.
3. alg: none Açığı: Eski bazı JWT kütüphanelerinde header'da "alg": "none" gönderildiğinde imza kontrolünün atlanması güvenlik açığı doğurabilir. Sunucu tarafında imza zorunlu tutulmalıdır.
4. Çok Uzun Geçerlilik Süresi (exp): Süresi 30 gün olan bir JWT çalındığında iptal edilmesi zordur. Access Token süresi 15 dakika gibi kısa tutulmalı, yenileme için güvenli Refresh Token mimarisi kurulmalıdır.
Sıkça Sorulan Sorular
JSON Web Token (JWT) nedir ve hangi 3 ana parçadan oluşur?
JWT (RFC 7519), taraflar arasında güvenli JSON nesneleri aktaran açık bir standarttır. Noktalarla (.) ayrılmış üç temel bileşenden oluşur: 1. Header (Algoritma ve Token Türü), 2. Payload (Kullanıcı verileri ve yetkiler/claims), 3. Signature (Verinin değiştirilmediğini garanti eden dijital imza).
JWT içeriğini çözmek (decode) şifresini kırmak (crack) anlamına mı gelir?
Hayır. Standart bir JWT şifrelenmiş (encrypted) değil, yalnızca Base64Url formatında kodlanmıştır (encoded). Dolayısıyla token'ı elinde bulunduran herkes Header ve Payload içeriğini şifre çözücüye ihtiyaç duymadan okuyabilir. Bu nedenle JWT payload içine asla parola, kredi kartı veya gizli anahtar konulmamalıdır.
JWT içindeki 'exp', 'iat' ve 'iss' alanları (claims) ne anlama gelir?
JWT imza doğrulamasında HS256 ile RS256 arasındaki fark nedir?
HS256 (HMAC with SHA-256), tek bir simetrik gizli anahtar (secret key) kullanır; token'ı imzalayan da doğrulayan da aynı anahtara sahip olmalıdır. RS256 (RSA Signature with SHA-256) ise asimetrik anahtar çifti kullanır: Token özel anahtarla (private key) imzalanır, mikroservisler ise bunu genel anahtarla (public key) güvenle doğrular.
İşinizi Dijitalde Büyütmeye Hazır mısınız?
Kurumsal web tasarım, özel yazılım çözümleri ve doğrudan dönüşüm odaklı performans pazarlama stratejilerimizle markanızı zirveye taşıyalım.