JWT Çözücü - DigiKitApp

JWT token içindeki header ve payload bilgisini görüntüleyin.

Ne zaman kullanmalısın?

Bir JWT token'ının içindeki bilgileri (kullanıcı id'si, geçerlilik süresi gibi) okunabilir şekilde görmen gerektiğinde, örneğin bir API hatasını ayıklarken kullan.

Ne zaman kullanmamalısın?

Bu araç sadece decode eder, imzayı doğrulamaz; bir token'ın gerçekten geçerli olup olmadığını anlamak için sunucu tarafı doğrulama gerekir, sonucu güvenlik kararı için kullanma.

Adım adım kullanım

  1. JWT değerini bir API isteğinden, tarayıcının ağ sekmesinden ya da bir log kaydından kopyalayın. Authorization başlığındaki "Bearer" önekini almayın, yalnızca token kalsın.
  2. Token'ı JWT token alanına yapıştırın. Noktalarla ayrılmış üç parçanın da eksiksiz kopyalandığından emin olun.
  3. Çalıştır butonuna tıklayın.
  4. Sonuç alanında header ve payload bölümlerini inceleyin. Header'da imza algoritmasını (alg), payload'da kullanıcıya ve geçerlilik süresine ait alanları görürsünüz.

Örnek

Bir mobil uygulama, giriş yaptıktan bir süre sonra API'den 401 hatası almaya başlıyor. Uygulamanın gönderdiği token'ı araca yapıştırdığınızda payload içinde exp alanını görürsünüz. Bu değer bir Unix zaman damgasıdır, yani 1 Ocak 1970'ten bu yana geçen saniye sayısı. Değeri tarihe çevirdiğinizde süre dolmuşsa sorun büyük ihtimalle token yenileme akışındadır. exp ileri bir tarihi gösteriyorsa bu kez aud ve iss değerlerinin sunucunun beklediği değerlerle aynı olup olmadığına bakmak mantıklı bir sonraki adım olur.

JWT nasıl yapılandırılır?

JSON Web Token (JWT) noktalarla ayrılmış üç parçadan oluşur: başlık, yük (payload) ve imza. Başlık ve yük Base64URL ile kodlanmış JSON'dur; yani herkes okuyabilir. İmza ise verinin değiştirilmediğini sunucunun doğrulamasını sağlar. Yükteki exp (bitiş), iat (veriliş) ve nbf (geçerlilik başlangıcı) alanları Unix saniye cinsinden zaman damgalarıdır.

JWT çözerken dikkat edin

  • Çözmek doğrulamak değildir: araç imzayı onaylamaz, içeriğin güvenilir olduğunu göstermez.
  • Canlı sistemlerden alınmış gerçek token'ları paylaşmayın; erişim anahtarı gibi davranır.
  • Yükte parola ya da gizli veri saklamayın; herkes okuyabilir.
  • exp değeri geçmişteyse token süresi dolmuştur; saat farkı sorunlarına da dikkat edin.

Dikkat edilmesi gerekenler

  • JWT içeriği şifreli değildir, yalnızca Base64URL ile kodlanmıştır. Token'ı eline geçiren herkes payload'ı okuyabilir; bu yüzden payload'a parola veya hassas kişisel veri koymayın.
  • Canlı ortamdan alınmış ve hâlâ geçerli bir token, bir oturum anahtarı gibi çalışır. Ekran görüntüsü alırken ya da ekip sohbetine yapıştırırken bunu hesaba katın.
  • Header'da alg değeri none olarak görünüyorsa token imzasızdır. Sunucunuzun bu tür token'ları reddettiğini ayrıca test edin.
  • iat, nbf ve exp alanları milisaniye değil saniye cinsindendir. Bu değerleri JavaScript'te Date nesnesine çevirirken 1000 ile çarpmayı unutmak sık rastlanan bir hatadır.

Sık sorulan sorular

Girdiğim kod/veri kaydediliyor mu?

Hayır, hiçbir veri sunucuya gönderilmez veya saklanmaz; işlem tamamen tarayıcınızda gerçekleşir.

Büyük dosyalarda çalışır mı?

Evet, ancak çok büyük girdilerde (birkaç MB üzeri) tarayıcı performansı düşebilir.

Bu araç ücretsiz mi?

Evet, temel kullanım için tamamen ücretsizdir ve üyelik gerektirmez.