> çöz | incele | doğrula <

// JSON Web Token'ları (JWT) anında çözün ve inceleyin

[GÜVENLİ]

Yerel İşleme

%100 istemci taraflı JWT çözme. Token'larınız asla tarayıcınızı terk etmez.

[ANINDA]

Otomatik Çözme

Yapıştırma veya yazma sırasında JWT token'ları otomatik olarak çözülür.

[ÜCRETSİZ]

Tam Token İncelemesi

Başlık, yük ve imzayı görüntüleyin. Algoritma ve süre sonunu kontrol edin.

// JWT ÇÖZME HAKKINDA

JWT Yapısı:

JSON Web Token (JWT), noktalarla ayrılmış üç Base64URL kodlu parçadan oluşur: başlık.yük.imza. Başlık algoritmayı ve token türünü belirtir. Yük talepleri (verileri) içerir. İmza token'ın bütünlüğünü doğrular.

Örnek:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.signature → {"alg":"HS256"} + {"sub":"1234"}

Yaygın Kullanım Alanları:

  • >Web uygulamalarında kimlik doğrulama token'larının hata ayıklaması
  • >OAuth 2.0 ve OpenID Connect token'larının incelenmesi
  • >Token süre sonu ve taleplerin doğrulanması
  • >RFC 7519'a göre JWT yapısının anlaşılması
  • >Base64URL kodlama bütünlüğünün kontrolü

>> sık sorulan sorular

S: JSON Web Token (JWT) nedir?

C: JWT (JSON Web Token), taraflar arasında JSON nesnesi olarak güvenli bilgi iletimi için açık bir standarttır (RFC 7519). Kompakt, URL güvenlidir ve kimlik doğrulama için yaygın olarak kullanılır.

S: JWT'nin üç parçası nelerdir?

C: JWT, noktalarla ayrılmış üç parçadan oluşur: Başlık (algoritma ve tür), Yük (talepler ve veriler) ve İmza (doğrulama hash'i). Her parça Base64URL ile kodlanmıştır.

S: JWT gizli anahtar olmadan çözülebilir mi?

C: Evet, JWT'nin başlığı ve yükü sadece Base64URL ile kodlandığından (şifrelenmediğinden) herkes tarafından çözülebilir. Gizli anahtar yalnızca imzayı doğrulamak için gereklidir.

S: JWT ile oturum tabanlı kimlik doğrulama arasındaki fark nedir?

C: Oturumlar, oturum ID çerezi ile durumu sunucuda saklar. JWT'ler durumsuz (stateless)dur — token'ın kendisi tüm gerekli bilgileri içerir.

S: JWT süre sonu nasıl çalışır?

C: JWT yükündeki exp talebi, süre sonunu Unix zaman damgası olarak belirtir. Bu sürenin ardından token geçersiz sayılmalıdır.

// Yaygın JWT imza algoritmaları

Başlıktaki alg değeri imzanın nasıl oluşturulacağını belirler. HS* paylaşılan bir gizli anahtar kullanır; RS*, PS*, ES* ve EdDSA anahtar çiftleri kullanır.

algAlgoritma
HS256HMAC + SHA-256
HS512HMAC + SHA-512
RS256RSA PKCS#1 v1.5 + SHA-256
PS256RSASSA-PSS + SHA-256
ES256ECDSA P-256 + SHA-256
EdDSAEd25519

// Kodda JWT doğrulama

Yalnızca çözmek hiçbir şeyi doğrulamaz. Doğrularken izin verilen algoritmaları her zaman açıkça belirtin.

Node.js (jsonwebtoken)   jwt.verify(token, secret, { algorithms: ['HS256'] })
Python (PyJWT)           jwt.decode(token, key, algorithms=["HS256"])
PHP (firebase/php-jwt)   JWT::decode($token, new Key($key, 'HS256'))
Go (golang-jwt)          jwt.Parse(token, keyFunc, jwt.WithValidMethods([]string{"HS256"}))
Java (jjwt)              Jwts.parser().verifyWith(key).build().parseSignedClaims(token)

>> Daha fazla soru

S: iss, sub, aud, exp, nbf, iat ve jti standart claim’leri ne anlama gelir?

C: iss yayıncı, sub konu (genelde kullanıcı kimliği), aud hedef kitle, exp son kullanma zamanı, nbf geçerlilik başlangıcı, iat yayın zamanı ve jti benzersiz token kimliğidir. Zamanlar Unix saniyesidir.

S: JWT şifreli midir?

C: Sıradan imzalı bir JWT (JWS) şifreli değildir, yalnızca Base64URL ile kodlanmıştır: içeriği herkes okuyabilir. İmza yalnızca değiştirilmeye karşı korur. İçine hassas veri koymayın veya şifreli JWE kullanın.

S: JWT imzası nasıl doğrulanır?

C: Anahtara ihtiyacınız var: HS256 için paylaşılan gizli anahtar, RS256/ES256 için genel anahtar. Sunucu Başlık.Yük için imzayı yeniden hesaplar ve karşılaştırır. Bu çözücü tarayıcıda çalışır ve imzayı sizin yerinize doğrulamaz; denenmiş bir kütüphane kullanın.

S: JWT ile ilgili yaygın güvenlik hataları nelerdir?

C: Yaygın olanlar: token’ın kendi alg değerine (özellikle none) güvenmek, zayıf HS256 gizli anahtarları, exp, iss ve aud kontrolünün yapılmaması, yükte hassas veri bulunması ve uzun ömürlü token’ların localStorage’da saklanması.

// DİĞER DİLLER