İçeriğe geç
gelistiriciaraclari

JWT Çözücü ve İmza Doğrulayıcı

JWT'yi yapıştırın; header ve payload'ı okunur biçimde görün, süresi dolmuş mu anlayın, isterseniz imzayı HS/RS/PS/ES algoritmalarıyla doğrulayın.

~/kod/jwt-coztarayıcıda çalışır
Token yalnızca tarayıcınızda çözülür.

Verileriniz tarayıcınızda işlenir ve sunucuya gönderilmez.

Nasıl kullanılır?

  1. 01JWT'nin tamamını (üç nokta ile ayrılmış üç parça) kutuya yapıştırın.
  2. 02Header ve payload otomatik base64url çözülüp okunur JSON olarak görüntülenir; exp, iat, nbf alanları tarih olarak ve süresi dolmuşsa uyarıyla gösterilir.
  3. 03alg değeri none ise güvenlik uyarısı görürsünüz.
  4. 04İmzayı doğrulamak isterseniz algoritmaya göre bir HMAC secret'ı ya da PEM ortak anahtarı/JWKS JSON'ı girin; doğrulama tamamen tarayıcıda WebCrypto ile yapılır.

JWT Çözücü aracı hakkında

## Header, payload ve zaman alanları

RFC 7519'a göre bir JWT, nokta ile ayrılmış üç base64url parçadan oluşur: header (algoritma ve token türü), payload (claim'ler) ve imza. Araç ilk iki parçayı otomatik çözüp JSON olarak gösterir; imza kısmı ayrıca ham biçimde görüntülenir çünkü onu yalnızca doğru anahtarla doğrulamak anlamlıdır, doğrudan çözülemez. exp (expiration), iat (issued at) ve nbf (not before) gibi standart zaman claim'leri Unix epoch saniyesi olarak saklanır; araç bunları okunur tarihe çevirir ve exp geçmişse token'ın süresinin dolduğunu açıkça belirtir.

Header'daki alg alanı none ise bu token'ın imzasız olduğu, yani hiçbir doğrulama yapılmadan kabul edilmemesi gerektiği anlamına gelir; araç bunu ayrı ve belirgin bir uyarı olarak işaretler, çünkü geçmişte bazı kütüphanelerin alg:none değerini sorgusuzca kabul etmesi, saldırganların payload'ı özgürce değiştirip geçerli bir token gibi göndermesine izin veren ciddi kimlik doğrulama açıklarına yol açmıştır; bu yüzden bu alan her zaman ayrıca kontrol edilmelidir.

## İmza doğrulama, tamamen tarayıcıda

İmza doğrulama isteğe bağlıdır ve algoritmaya göre farklı girdi ister: HS256/384/512 için paylaşılan bir secret metni, RS256/384/512 ve PS256 için bir RSA ortak anahtarı (PEM), ES256/384 için bir eliptik eğri ortak anahtarı (PEM) veya bunlar yerine yapıştırılmış bir JWKS JSON'ı kabul edilir. Tüm hesaplama tarayıcının WebCrypto API'siyle yapılır; araç hiçbir anahtarı veya token'ı ağ üzerinden bir sunucuya göndermez, JWKS bile bir URL'den otomatik çekilmez, siz yapıştırırsınız.

JWT'ler genelde OAuth2/OIDC access token'ları veya oturum token'ları olarak kullanılır; payload'daki iddiaları (claim) daha derinlemesine, ağaç görünümünde incelemek isterseniz JSON Görüntüleyici, token'ın imza kısmını ham base64url olarak çözmek isterseniz Base64 Decode, exp/iat değerlerini farklı zaman dilimlerinde görmek isterseniz Unix Timestamp Dönüştürücü kullanışlıdır. JWT hata ayıklama konusunda adım adım bir anlatım için JWT token nasıl çözülür rehberine bakabilirsiniz.

rehber › JWT'nin Yapısı ve Hata Ayıklama Rehberi

Sıkça sorulan sorular

JWT'nin imzasını doğrulamadan da içeriğini görebilir miyim?

Evet; header ve payload base64url ile kodlanmıştır, herhangi bir anahtar olmadan çözülüp okunabilir. İmzayı doğrulamak ayrı ve isteğe bağlı bir adımdır.

alg: none neden tehlikeli?

İmzasız bir token anlamına gelir; bazı kütüphanelerin geçmişte bu değeri kabul edip imza kontrolünü atlaması, saldırganların payload'ı değiştirip geçerliymiş gibi göndermesine izin veren açıklara yol açmıştır.

İmza doğrulama için secret'ımı veya özel anahtarımı bu araca girmek güvenli mi?

Doğrulama tamamen tarayıcınızda WebCrypto ile yapılır ve hiçbir veri sunucuya gönderilmez; yine de üretim ortamı gizli anahtarlarını üçüncü taraf araçlara yapıştırmadan önce kurumunuzun güvenlik politikasını kontrol edin.

exp süresi dolmuş bir token'ı yine de çözebilir miyim?

Evet, araç header ve payload'ı her durumda gösterir; sadece exp tarihi geçmişse token'ın süresinin dolduğunu ayrıca belirtir.

RS256 ile HS256 arasındaki fark nedir?

HS256 tek bir paylaşılan secret ile simetrik olarak imzalanır; RS256 bir RSA özel anahtarıyla imzalanıp ortak anahtarla doğrulanan asimetrik bir algoritmadır, bu yüzden doğrulayan taraf imzalama anahtarını bilmek zorunda değildir.

İlgili araçlar