JWT Tokenlerini Çözme ve Claimleri Güvenli İnceleme
Hızlı Yanıt
JWT çözmek için: token'i JWT Decoder'a yapıştırın ve header ve payload anında formatlı JSON olarak görünür. Araç Base64URL parçalarını yerel olarak çözer —token tarayıcınızı asla terk etmez. Unutmayın: çözme sadece içeriği gösterir; signature doğrulamaz.
giriiş
JWT (JSON Web Token), authentication ve bilgi değişimi için kullanılan kompakt, URL-safe token formatıdır. JWT noktalarla ayrılmış üç parçaya sahiptir: header.payload.signature. Header algoritmayı belirtir, payload claim'leri (user ID, roles, expiration) içerir ve signature token değiştirilmediğini kanıtlar. Çözme, debugging için içeriği incelemenizi sağlar —ama çözme authenticity doğrulamaz.
Adım adım
-
JWT Kod Çözücü aracını açın
JWT Kod çözücü aracı sayfasına gidin. Araç herhangi bir JWT dizesini (noktalarla ayrılmış üç Base64URL kodlu parça) kabul eder.
-
JWT jetonunuzu yapıştırın
JWT giriş alanına yapıştırın. Tipik bir JWT şuna benzer: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature. Araç üç parçayı otomatik olarak algılar.
-
Kodu çözülmüş başlığı inceleyin
Base64URL aracı ilk parçanın kodunu çözer ve onu JSON olarak görüntüler. Başlık tipik olarak 'alg' (algoritma, örneğin HS256) ve 'typ' (tür, genellikle 'JWT') içerir.
-
Kodu çözülmüş veriyi inceleyin (talepler)
Araç, ikinci bölümün kodunu çözer ve talepleri JSON biçiminde görüntüler. Yaygın iddialar arasında 'sub' (konu/kullanıcı kimliği), 'iat' (verilme tarihi), 'exp' (son kullanma tarihi) ve 'rol' (kullanıcı rolü) yer alır.
-
İmzayı kontrol edin (üçüncü bölüm)
Araç imza kısmını gösterir. Not: Kod çözme imzayı doğrulamaz. Doğrulamak için imzalama anahtarına ve doğrulama kitaplığına ihtiyacınız vardır. İmza sunucusu tarafını doğrulamadan asla JWT'in taleplerine güvenmeyin.
Örnekler
Basit bir JWT kodunu çözün
Giriş: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsIm5hbWUiOiJBbGljZSIsImlhdCI6MTY5MzUyNjQwMH0.signature
Çıkış: Header: {"alg":"HS256","typ":"JWT"}
Payload: {"sub":"user1","name":"Alice","iat":1693526400}
JWT sona erme talebiyle birlikte
Giriş: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY5MzYxMjgwMH0.sig
Çıkış: Header: {"alg":"HS256"}
Payload: {"sub":"admin","exp":1693612800}
Yaygın Sorunlar
- Kod çözme ile doğrulamayı karıştırmak — JWT kodunun çözülmesi yalnızca içeriğini okur; belirtecin gerçek olduğunu kanıtlamaz. İmza sunucusu tarafını her zaman imzalama anahtarıyla doğrulayın.
- Süresi dolmuş tokenlara güvenmek — 'exp' iddiasını kontrol edin ve süresi dolmuş tokenları reddedin. 'Exp' değeri saniye cinsinden bir Unix zaman damgasıdır.
- Base64 ve Base64URL —JWT Base64URL kodlamasını kullanır (doldurma yok, + ve / yerine - ve _). Standart bir Base64 kod çözücü JWT parçalarında başarısız olur.
- Yükteki hassas veriler —JWT yükleri, jetona sahip olan herkes tarafından okunabilir. Veri yükünde şifreleri, kredi kartı numaralarını veya diğer sırları saklamayın.
İpuçları
- Herhangi bir talebe güvenmeden önce her zaman JWT imzasını sunucu tarafında doğrulayın; kod çözme tek başına kimlik doğrulama değildir.
- Belirtecin geçerli zaman için geçerli olduğundan emin olmak için 'exp' (son kullanma tarihi) ve 'nbf' (önce değil) iddialarını kontrol edin.
- Uzun oturumlar için yenileme belirteçleriyle birlikte kısa ömürlü (15-60 dakika) belirteçler kullanın; bu, bir belirtecin sızdırılması durumunda hasarı en aza indirir.
- Güvenli, yerel hata ayıklama için JWT Kod Çözücümüzü kullanın; jetonunuz tarayıcınızdan asla ayrılmaz.