Kodlama & Geliştirici Araçları

JWT Decoder

JSON Web Token (JWT) içeriğini doğrulamadan bağımsız olarak çözün.

Girdi Metni

Sonuç / Analiz

Henüz işlem yapılmadı

Yukarıdaki alana metninizi girip "JWT Çöz" butonuna bastığınızda sonuçlar burada görünecektir.

Rehber

JWT Decoder – Ücretsiz Online JSON Web Token Kod Çözücü, Claims ve Güvenlik Rehberi

JWT Decoder; web uygulamaları ve API güvenlik sistemlerinde yaygın olarak kullanılan JSON Web Token (JWT) yapılarını, gizli anahtara (secret key) ihtiyaç duymadan saniyeler içinde ayrıştıran; başlık (Header), veri kümesi (Payload/Claims) ve imza (Signature) alanlarını insan tarafından okunabilir JSON formatında gösteren ücretsiz bir online geliştirici aracıdır.


JWT (JSON Web Token) Nedir ve Nasıl Yapılandırılmıştır?

JWT (JSON Web Token), taraflar arasında güvenli, kompakt ve kendi kendine yetebilen (self-contained) bir veri aktarımı sağlamak amacıyla RFC 7519 standardıyla tanımlanmış açık bir veri formatıdır. Genellikle modern web mimarilerinde (Single Page Applications, Microservices) kullanıcı oturum yönetimi (authentication) ve API yetkilendirme (authorization) süreçlerinde kullanılır.

Bir JWT token'ı, noktalarla (.) ayrılmış üç farklı bölümden oluşur:

1. Header (Başlık)

Token'ın türünü (genellikle "JWT") ve imza oluşturulurken kullanılan kriptografik şifreleme algoritmasını (örneğin HS256, RS256 veya ES256) belirten JSON nesnesidir. Base64Url formatına kodlanarak token'ın ilk kısmını oluşturur.

  • Örnek: {"alg": "HS256", "typ": "JWT"}

2. Payload (Veri Kümesi / Claims)

Token ile taşınan asıl kullanıcı verilerini ve iddiaları (claims) içeren bölümdür. Burada standarda bağlı olan veya geliştirici tarafından eklenen özel parametreler bulunur. Base64Url kodlu olarak token'ın ikinci kısmında yer alır. Standard Claims (Standart İddialar):

  • iss (Issuer): Token'ı oluşturan kimlik doğrulama sunucusu.
  • sub (Subject): Token'ın ait olduğu kullanıcı (örn: Kullanıcı ID).
  • aud (Audience): Token'ın hangi uygulama/istemci tarafından kullanılacağını belirtir.
  • exp (Expiration Time): Token'ın geçerliliğini yitireceği zaman damgası (Unix Timestamp formatında).
  • iat (Issued At): Token'ın oluşturulma zamanı.

3. Signature (İmza)

Token'ın taşıma sırasında değiştirilip değiştirilmediğini (veri bütünlüğünü) doğrulamak için kullanılır. Header ve payload kısımlarının birleştirilip, sunucudaki gizli bir anahtar (secret key) ile imzalanmasıyla oluşturulur. Token'ın üçüncü ve son bölümüdür.


JWT Güvenlik Uyarıları ve En İyi Pratikler

Warning

JWT Payload Şifreli Değildir! Birçok geliştirici, JWT kodunun şifreli olduğunu ve dışarıdan okunamayacağını düşünerek büyük bir güvenlik hatası yapar. JWT'nin ilk iki kısmı (Header ve Payload) sadece Base64Url formatıyla kodlanmıştır. Yani, elinde token bulunan herhangi bir kişi, sitemizdeki JWT Decoder gibi bir araç kullanarak token'ın içindeki kullanıcı ID'sini, rollerini ve diğer tüm taşınan claims bilgilerini saniyeler içinde okuyabilir. Bu nedenle JWT içerisine şifreler, kredi kartı numaraları veya hassas kişisel veriler kesinlikle yazılmamalıdır.

Güvenli JWT Yönetimi İçin:

  • Sadece kimlik tanımlayıcı ve yetki rollerini içeren genel verileri payload içinde taşıyın.
  • Token geçerlilik sürelerini (exp) kısa tutun ve gerekirse yenileme token'ı (refresh token) mimarilerini kullanın.
  • İmza doğrulama anahtarlarınızı (secret keys) güçlü karakterlerden seçin ve sunucu tarafında çok güvenli bir şekilde saklayın.

Sıkça Sorulan Sorular (SSS)

JWT Decoder ile token'ın imzasını doğrulayabilir miyim?

Aracımız, token'ların geçerliliğini veya imzalarını doğrulamak için değil, yalnızca token içeriğinde hangi claims bilgilerinin taşındığını görselleştirmek ve analiz etmek amacıyla tasarlanmıştır. İmza doğrulaması sadece sizin sunucu tarafınızdaki gizli anahtar (secret key) ile gerçekleştirilebilir.

Token geçerlilik süresinin (exp) dolup dolmadığını nasıl anlarım?

JWT payload kısmında yer alan exp özelliğindeki değer saniyeler bazında bir Unix zaman damgasıdır (Timestamp). Sitemizdeki Timestamp Converter aracını kullanarak bu damgayı normal tarih formatına çevirebilir ve token'ın geçerlilik süresini kontrol edebilirsiniz.

JWT ve Session (Oturum) arasındaki temel fark nedir?

Geleneksel oturum (Session) modelinde kullanıcı verileri sunucunun belleğinde (RAM veya Veri Tabanı) saklanır ve istemciye bir Session ID verilir. JWT modelinde ise tüm kullanıcı bilgileri token'ın kendi içinde (payload kısmında) taşınır. Sunucu tarafında veri saklanmasına gerek kalmadığı için (stateless) mikroservis ve ölçeklenebilir bulut mimarileri için çok daha uygundur.