JWT Çözücü
Bir JSON Web Token yapıştırın; başlığını ve payload'ını biçimlendirilmiş JSON olarak okuyun. Son kullanma ve oluşturulma zamanları tarih olarak gösterilir, token'ın şu anda geçerli olup olmadığı da belirtilir. Çözme işlemi tamamen tarayıcınızda yapılır; token etkin bir kimlik bilgisiyse bu önemlidir.
0 karakter · 0 kelime · 0 satır
0 karakter · 0 kelime · 0 satır
Tamamen bu tarayıcı sekmesinde çalışır. Metniniz asla yüklenmez veya saklanmaz.
Kayıtlı talepler
RFC 7519 §4.1'de tanımlı yedi talep adı. Hepsi isteğe bağlıdır; zamanlar 1970-01-01 UTC'den itibaren saniyedir.
| Talep | Anlamı |
|---|---|
iss | Yayıncı: belirteci oluşturan ve imzalayan |
sub | Konu: belirtecin ilgili olduğu kullanıcı veya varlık |
aud | Hedef kitle: belirtecin kimin için olduğu |
exp | Bitiş zamanı: bu andan sonra belirteci reddet |
nbf | Başlangıç zamanı: bu andan önce belirteci reddet |
iat | Düzenlenme zamanı: belirtecin oluşturulduğu an |
jti | JWT kimliği: tekrar saldırılarını önlemek için benzersiz tanımlayıcı |
Yaygın alg değerleri
| alg değeri | Anlamı |
|---|---|
HS256 | SHA-256 ile HMAC; tek ortak sır hem imzalar hem doğrular |
RS256 | SHA-256 ile RSA PKCS#1 v1.5 imzası; özel anahtar imzalar, açık anahtar doğrular |
PS256 | SHA-256 ile RSA-PSS |
ES256 | SHA-256 ile P-256 eğrisinde ECDSA; kısa imzalar |
EdDSA | Ed25519 veya Ed448 imzaları |
none | İmzasız belirteç; sunucular reddetmelidir |
JSON Web Token'ın içinde neler var
JWT, RFC 7519'da (Mayıs 2015) tanımlanmıştır ve bu belge İngilizcedeki "jot" sözcüğü gibi okunmasını önerir. Yaygın imzalı biçim, noktalarla birleştirilmiş üç Base64url dizesinden oluşur: header.payload.signature. Header (başlık), alg alanında HS256 veya RS256 gibi imza algoritmasını, çoğu zaman da kid alanında bir anahtar kimliğini belirtir. Payload (yük), talepleri (claim) taşır; bunlar sub (kullanıcı), iss (düzenleyen), aud (hedef kitle) ile exp, nbf ve iat gibi JSON alanlarıdır. exp, nbf ve iat, 1 Ocak 1970 UTC'den itibaren geçen saniye cinsinden zamanlardır. Çözücü bu üç değeri yerel saatinize ve ISO 8601 biçimine çevirir; ayrıca belirtecin süresinin dolup dolmadığını, henüz geçerli olmadığını veya geçerlilik aralığı içinde olduğunu gösterir.
Base64url bir kodlamadır, şifreleme değildir; bu yüzden belirtece sahip herkes yükünü tam olarak bu sayfadaki gibi okuyabilir. Taleplere asla parola, kart numarası veya başka gizli bilgi koymayın. Noktalarla ayrılmış beş bölümlü belirteç, şifrelenmiş bir belirteç olan JWE'dir; içeriği anahtar olmadan okunamaz ve çözücü bunu size bildirir. Authorization başlığından kopyalanan baştaki "Bearer " ifadesi otomatik olarak kaldırılır.
İmza neden burada doğrulanmıyor
İmza, başlık ve yükün anahtarı elinde tutan biri tarafından üretildiğini ve sonradan değiştirilmediğini kanıtlar. Doğrulamak için o anahtar gerekir: HS256 gibi HMAC algoritmalarında paylaşılan gizli anahtar, RS256, ES256 veya EdDSA'da ise düzenleyenin açık anahtarı. Üretim ortamındaki imza anahtarını herhangi bir web sayfasına yapıştırmak kötü bir fikirdir; anahtarsız bir belirteci güvenilir gösteriyormuş gibi davranan bir çözücü de yanlış bir güven duygusu verir. Bu yüzden bu araç imzayı gösterir ama doğrulamaz. Gördüklerinizi gerçek değil, belirtecin ileri sürdüğü bir talep olarak değerlendirin.
Doğrulama sunucunuzda, beklenen algoritma sabitlenmiş ve bakımı yapılan bir kitaplıkla yapılmalıdır. İki eski hata nedeni açıklar: imzasız bir belirteci herkesin sahtelemesine izin veren alg "none" değerini kabul etmek ve RS256 bekleyen bir sunucunun, açık anahtarı HMAC gizli anahtarı sayarak HS256 imzasını doğrulamaya kandırıldığı algoritma karışıklığı. Çözücü hata ayıklama içindir: sağlayıcının hangi talepleri verdiğini görmek, yanlış aud değerini fark etmek veya bir oturumun exp süresi bir dakika önce dolduğu için başarısız olduğunu anlamak gibi. Base64url bölümlerini ham olarak okumak için Base64 çözücü aracını kullanın.
Sık sorulan sorular
- Gerçek bir erişim token'ını JWT çözücüye yapıştırmak güvenli mi?
- Bu sayfada belirteç tarayıcınızdan hiç çıkmaz. Yine de geçerli bir belirteç, süresi dolana kadar parola gibi çalışır; bu yüzden süresi dolmuş veya test belirteçlerini tercih edin, canlı olanları ekran görüntülerinden ve sohbetlerden uzak tutun.
- Token'ım yeni oluşturulmasına rağmen neden süresi dolmuş görünüyor?
- Önce cihazınızın saatini kontrol edin. Bazı düzenleyiciler erişim belirteçlerine yalnızca birkaç dakikalık ömür verir ve bir günlükten kopyalanan belirteç göründüğünden eski olabilir. exp değerinin saniye yerine milisaniye olarak yazılması ise tersine etki eder ve binlerce yıl sonrasına denk gelir.
- Başkası JWT'imin payload'ını değiştirebilir mi?
- Belirteci düzenleyip yeniden kodlayabilirler, ancak imza artık eşleşmez. İmzaları doğru anahtar ve algoritmayla doğrulayan bir sunucu, değiştirilmiş belirteci reddeder.
- JWS ile JWE arasındaki fark nedir?
- JWS (RFC 7515) imzalıdır, üç bölümlüdür ve herkes okuyabilir. JWE (RFC 7516) şifrelidir, beş bölümlüdür ve yükü yalnızca anahtar sahibi okuyabilir.
- Oturumu kapatmak JWT'yi geçersiz kılar mı?
- Tek başına hayır. Sunucu bir yasaklı listesi tutmuyor veya oturum kaydını kontrol etmiyorsa imzalı bir JWT, exp zamanına kadar geçerli kalır; erişim belirteçlerine genellikle bu yüzden kısa ömür verilir.