JWT Çözücü: Header, Payload ve Süre Bilgisi
JSON Web Token (JWT) içeriklerini anında çözün. Header, Payload ve imza bölümlerini tarayıcınızda güvenle görüntüleyin.
İmza
İmza doğrulaması gizli bir anahtar gerektirir.
Bu JWT Çözücü Token'ı Nasıl Çözer
Bir JSON Web Token, header, payload ve imza olmak üzere üç parçayı tek bir dizede taşır. Bu çözücü, kodlanmış token'ı bu üç parçaya ayırır, header ile payload'ı okunabilir JSON biçimine çevirir; algoritmayı, oluşturulma tarihini ve son kullanma tarihini de ayrıca gösterir, böylece token'ı kod yazmadan inceleyebilirsiniz.
Header, Payload ve İmza
Token, iki nokta ile üç parçaya ayrılır: header.payload.imza. İlk iki parça base64url ile kodlanmış JSON'dur, yani bunları çözmek şifre çözme değil, geri alınabilir bir dönüşümdür. Header, imzalama algoritmasını (alg alanı, örneğin HS256 veya RS256) ve token türünü belirtir. Payload ise claim'leri taşır: bir subject kimliği, varsa özel alanlar ve genellikle Unix saniyesi olarak saklanan iat (oluşturulma zamanı) ile exp (son kullanma zamanı) değerleri. İmza, header ve payload'dan hesaplanan kriptografik bir değerdir; doğrulanması, onu oluşturan gizli anahtara ya da özel anahtara ihtiyaç duyar, bu yüzden bir token'ın içeriğini okumak, onun gerçek olduğunu doğrulamaktan farklı bir işlemdir. Bazı token'lar alg değeri none ile imzasız üretilir ve yalnızca header.payload biçiminde iki parçadan oluşur; çözücü bu kısa biçimi de kabul eder ve imza bölümünü boş bırakır. Base64url, standart base64'ten farklı olarak artı ve bölü işaretleri yerine tire ve alt çizgi karakterlerini kullanır ve genellikle dolgu karakteri olan eşittir işaretini de içermez, bu yüzden bu çözücü önce bu karakterleri geri çevirip ardından JSON olarak ayrıştırır.
Örnek Üzerinde İnceleme
Aşağıdakine benzer bir token yapıştırdığınızda üç renkli parçaya ayrılır, ardından header ve payload biçimlendirilmiş JSON olarak gösterilir.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDkzODQ3NTYxIiwibmFtZSI6IkVsaWYgWWlsbWF6IiwiaWF0IjoxNzA3NTY2NDAwLCJleHAiOjE3MTUzNDI0MDB9.rvMZX6u46F_5W0I_C3xGftG2D18
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "2093847561",
"name": "Elif Yilmaz",
"iat": 1707566400,
"exp": 1715342400
}
Algoritma rozeti header'dan HS256 değerini okur. iat değeri 10 Şubat 2024 tarihine, exp değeri ise 10 Mayıs 2024 tarihine çevrilir; bu tarih geçtiği için Durum rozeti EXPIRED gösterir. Bunların hiçbiri sunucuda gerçekleşmez: çözme işlemi tarayıcıda çalışır ve araç, imzayı oluşturan gizli anahtara veya özel anahtara erişimi olmadığı için imzanın gerçekliğini hiçbir zaman kontrol etmez.