JWT Çözücü

Bir JSON Web Token'ın başlığını, claim'lerini ve geçerlilik süresini tarayıcınızda okuyun. Yalnızca çözer: hiçbir imza doğrulanmaz.

Tamamen tarayıcınızda çalışır. Hiçbir şey yüklenmez, günlüğe yazılmaz veya saklanmaz.

Bu araç çözer. Doğrulamaz. Aşağıdaki hiçbir şey token'ın gerçek olup olmadığını söylemez. İmzalı bir token'a sahip olan herkes içindeki claim'leri okuyabilir ve herkes buna benzeyen bir token yazabilir. İmzayı kendi uygulamanızda, kendi anahtarınızla kontrol edin.

Noktalarla ayrılmış üç parça. Hiçbir şey hiçbir yere gönderilmez.

Bir token yapıştırın ve başlığını, claim'lerini ve geçerlilik süresini görün. Çözme işlemi tarayıcınızda yapılır: token gönderilmez, kaydedilmez ve saklanmaz.

Bu araç imzayı kontrol etmez ve size gösterdiği hiçbir şey token'ın gerçek olduğu anlamına gelmez.

Nasıl çalışır

Bir JSON Web Token, noktalarla ayrılmış ve base64url ile kodlanmış üç parçadan oluşur: hangi algoritmanın imzaladığını söyleyen bir başlık, claim'lerden oluşan bir yük (payload) ve ilk ikisi üzerine atılmış bir imza. İlk ikisi şifrelenmiş değil, kodlanmıştır: token'a sahip olan herkes onları okuyabilir; burada olan da tam olarak budur.

Kayıtlı zaman claim'leri okunabilir tarihler olarak gösterilir: `exp` geçerliliğini yitirdiği an, `nbf` geçerli olmaya başladığı an, `iat` düzenlendiği an. Token'ın geçerlilik penceresinin neresinde olduğunu söylemek için bunlar sizin saatinizle karşılaştırılır.

İmza yazıldığı gibi gösterilir ve çözülmez. Metin değil baytlar üzerine atılmış bir imzadır; onu karakter olarak göstermek, bir şey söylüyormuş izlenimi verirdi.

Örnekler

Durum Girdi Sonuç
İmzası olmadığını beyan eden bir token eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjM0NTY3ODkwIn0. alg none, typ JWT, sub 1234567890

Sık sorulan sorular

Neden imzayı doğrulamıyor?

Çünkü doğrulama imzalama anahtarını gerektirir ve bunu sizden isteyen bir sayfa, sisteminizi koruyan sırrı bir web sitesine yapıştırmanızı istiyor olurdu. Daha ince bir neden de var: doğruluyormuş gibi görünen bir çözücü, herhangi birinin yazmış olabileceği bir yüke güvenmeye sizi davet ederdi. Doğrulamayı kendi uygulamanızda, kendi anahtarınızla yapın.

JWT şifreli midir?

Hayır. İmzalı bir token kodlanmıştır ve bu aynı şey değildir: ona sahip olan herkes, anahtara gerek duymadan tüm claim'lerini okuyabilir. Token'ı taşıyanın görmemesi gereken hiçbir şeyi bir token'a asla koymayın. Şifreli token'lar da vardır (üç yerine beş parçaları olur) ve bu araç onları okuyamaz.

“none” algoritması ne anlama gelir?

Token'ın hiç imzası olmadığı anlamına gelir. JWT'ye karşı en eski saldırı budur: imzayı silmek, `alg` değerini `none` yapmak ve alıcı kütüphanenin bunu kabul etmesini ummak. Sayfa böyle bir token için uyarır; kendi oluşturmadığınız böyle bir token görüyorsanız, onu düşmanca kabul edin.

Token'ım tarayıcımın dışına çıkıyor mu?

Hayır. Çözme işlemi JavaScript ile yerelde çalışır ve bu aracın paylaşım bağlantısı yoktur, çünkü bir bağlantı token'ı bir URL'ye koyardı; orada da tarayıcı geçmişine ve sunucu kayıtlarına düşerdi.

Bilmekte fayda var

  • Yalnızca çözer. Hiçbir imza doğrulanmaz ve bu sayfadaki hiçbir şey bir token'ın gerçek olup olmadığını söylemez.
  • Token tarayıcınızda çözülür ve asla gönderilmez, kaydedilmez ya da saklanmaz. Araç JavaScript gerektirir; JavaScript olmadan hiçbir çözme işlemi yapılmaz.
  • İmzalı bir token'ı, ona sahip olan herkes okuyabilir. Tüm claim'lerini herkese açık kabul edin.

Kaynaklar

Tüm Kod araçları