header.payload.signature
JWT çözücü
JSON Web Token (JWT), noktalarla ayrılmış 3 Base64url parçasıdır: başlık, yük ve imza. Taleplerini ve saatlerini okumak için bir token yapıştır; burada çözülür, doğrulanmaz.
- iat 1700000000 = 2023-11-14 22:13:20 UTC
- exp 1700003600 = 2023-11-14 23:13:20 UTC
- HS256 = 32 B
Token bu sekmede kalır ve hiçbir yere gönderilmez. Çözülmüş bir token güvenilir bir token değildir: imza burada asla kontrol edilmez.
Scanned by NortonTM Safe Web
Bir bakışta
- Fiyat
- Ücret yok
- Hesap
- Gerekmez
- Standartlar
- RFC 7519 (JWT), RFC 7515 (JWS), RFC 7516 (JWE)
- İmza
- Doğrulanmaz — token yalnızca çözülür
- Saatler
- exp, nbf ve iat UTC olarak gösterilir ve saatinle karşılaştırılır
- Yükleme
- Yok — token tarayıcı sekmende kalır
Örnek bir token ve yaygın algoritmalar
Bu sayfadaki örnek token, atılabilir bir anahtar üzerinden HMAC-SHA-256 ile imzalanmıştır. Sayfa ilk tabloyu üretmek için onu çözdü.
| Talep | Değer | Saat (UTC) |
|---|---|---|
| iss | auth.example.com | — |
| sub | user-42 | — |
| aud | api | — |
| iat | 1700000000 | 2023-11-14 22:13:20 UTC |
| exp | 1700003600 | 2023-11-14 23:13:20 UTC |
| alg | Aile | Özet | İmza boyutu |
|---|---|---|---|
| HS256 | HMAC | SHA-256 | 32 B |
| HS512 | HMAC | SHA-512 | 64 B |
| RS256 | RSASSA-PKCS1-v1_5 | SHA-256 | 256 B (2048-bit key) |
| ES256 | ECDSA P-256 | SHA-256 | 64 B |
| ES512 | ECDSA P-521 | SHA-512 | 132 B |
| EdDSA | EdDSA | — | 64 B (Ed25519) |
JWT nasıl çözülür
Token'ı yapıştır
Token'ın tamamını, başında Bearer olsun ya da olmasın yapıştır. Noktalarla ayrılmış 3 parçası vardır; şifreli bir JWE ise 5 parçası vardır.
Parçaları oku
Başlık ve yük biçimlendirilmiş JSON olarak görünür, her talep bir tabloda listelenir. exp, nbf ve iat saatleri UTC olarak gösterilir.
Saati kontrol et
Sayfa exp ve nbf değerlerini cihazının saatiyle karşılaştırır ve token'ın süresinin dolup dolmadığını söyler. Token'ın gerçek olup olmadığını söylemez.
JWT nasıl oluşturulur
JWT (RFC 7519) header.payload.signature biçiminde yazılır. Başlık ve yük, her biri dolgusuz Base64url olarak kodlanmış JSON nesneleridir (RFC 4648, bölüm 5); imza ise aynı kodlamada ham baytlardır. Çözme yalnızca kodlamayı değiştirir; bu yüzden token'a sahip olan herkes yükünü okuyabilir: içine sır koyma. Başlık, imzalama algoritmasını alg içinde belirtir; örneğin HS256 (SHA-256 ile HMAC, 32 baytlık imza) veya RS256 (SHA-256 ile RSA, 2048 bitlik anahtar için 256 bayt).
Bu sayfa bir token'ı çözer ve başka bir şey yapmaz. İmzayı kontrol etmez, çünkü bunun için anahtar gerekir; bir token'ın gerçek, iptal edilmiş ya da bir sunucu tarafından kabul edilmiş olup olmadığını da söyleyemez. 1970-01-01 UTC'den bu yana geçen saniyeleri sayan exp, nbf ve iat taleplerini cihazının saatiyle karşılaştırır ve UTC tarih-saat olarak yazdırır. 5 parçalı bir token JWE'dir: içeriği şifrelidir, bu yüzden yalnızca başlığı gösterilebilir.
JWT soruları
JWT nasıl çözülür?
Token'ı kutuya yapıştır. Sayfa onu noktalardan böler, ilk iki parçayı Base64url'den çevirir ve JSON olarak gösterir. Baştaki Bearer yok sayılır. Örnek token için başlık {"alg":"HS256","typ":"JWT"} olur.
Bu sayfa imzayı doğrular mı?
Hayır. Doğrulama gizli anahtarı veya genel anahtarı gerektirir ve bu sayfa hiç anahtar istemez. Burada çözülen bir token yine de sahte, değiştirilmiş ya da iptal edilmiş olabilir. İmzayı kendi sunucu kodunda, bakımı süren bir JWT kitaplığıyla doğrula.
exp, iat ve nbf ne demek?
1970-01-01 UTC'den bu yana geçen saniye cinsinden saatlerdir (RFC 7519). exp token'ın süresinin dolduğu zamandır, nbf bundan önce kabul edilmemesi gereken zamandır, iat ise token'ın verildiği zamandır. Örnek token'da iat 1700000000, 2023-11-14 22:13:20 UTC'dir; exp 1700003600 ise bir saat sonradır.
Buraya gerçek bir token yapıştırmak güvenli mi?
Token tarayıcı sekmende kalır ve hiçbir yere gönderilmez. Yine de geçerli bir token bir kimlik bilgisidir: ona sahip olan herkes süresi dolana kadar kullanabilir. Sana ait token'ları yapıştır; mümkünse süresi dolmuş veya test token'ları tercih et.
Token'ım neden 5 parçalı?
5 parçalı bir token JWE'dir, yani şifreli bir JSON Web Token'dır (RFC 7516). Yükü alıcı için şifrelenmiştir; bu yüzden bu sayfa yalnızca başlığı ve parçaların boyutlarını gösterir. İçerik burada okunamaz.
"not Base64url" veya "not JSON" ne demek?
İlk iki parçanın her biri, bir JSON nesnesine çözülen Base64url metni olmalıdır. Sayfa başarısız olan parçayı ve nedenini belirtir: alfabe dışı bir karakter, UTF-8 olmayan baytlar ya da belirli bir satır ve sütunda hatası olan JSON. Genelde token'ın kesilmiş olması veya fazladan karakter içermesi nedendir.