Yapıştırdığım JWT bir sunucuya gönderiliyor mu?+−
Hayır. Çözme işlemi tamamen tarayıcınızda, atob ve TextDecoder Web API'leri kullanılarak gerçekleşir - token ve bir imzayı doğrulamak için yapıştırdığınız herhangi bir gizli veya genel anahtar cihazınızdan asla ayrılmaz.
Bu araç imzayı doğrulayabilir mi?+−
Evet, en iyi çaba temelinde bir bonus olarak. HMAC gizli anahtarını biliyorsanız (HS256/384/512 için) veya PEM kodlu genel anahtarı yapıştırırsanız (RS256/384/512 veya ES256/384/512 için), araç imzayı tarayıcının Web Crypto API'sini kullanarak yerel olarak kontrol eder. Anahtar olmadan yalnızca başlık ve veri çözülüp gösterilir - çözme işlemi hiçbir zaman imzalama anahtarına ihtiyaç duymaz.
Neden algoritma "none" olarak görünüyor?+−
"alg": "none", token'ın hiç imzalanmadığı anlamına gelir - herkes içine istediği iddiaları yazmış olabilir. Bazı kütüphaneler geçmişte bu imzasız token'ları geçerli kabul etmiştir ve bu iyi bilinen bir kimlik doğrulama atlatma yöntemi haline gelmiştir. Bu araç, gözden kaçırmamanız için bunu her zaman belirgin şekilde işaretler.
exp, iat ve nbf ne anlama gelir?+−
Bunlar RFC 7519'daki standart zaman damgası iddialarıdır: iat token'ın ne zaman verildiği, nbf geçerli olacağı en erken an, exp ise geçerliliğini yitireceği andır. Üçü de bir NumericDate - Unix epoch'undan bu yana geçen saniye - olarak saklanır ve bu araç bunu okunabilir bir tarihe ve "2 saat içinde sona eriyor" gibi bir göreceli zamana dönüştürür.
Gizli anahtar olmadan veriyi neden okuyabiliyorum?+−
Çünkü bir JWT'nin başlığı ve verisi yalnızca base64url ile kodlanmıştır, şifrelenmemiştir - kodlama gizlilik değildir. Token'a sahip olan herkes zaten iddiaları okuyabilir; imza yalnızca iddiaların anahtara sahip olmayan biri tarafından değiştirilmediğini kanıtlar. Bir saldırganın okumasını istemediğiniz hiçbir şeyi doğrudan bir JWT verisinin içine koymayın.
Token'ımın 3 parçası var ama yine de çözülmüyor - neden?+−
Üç bölümün (başlık, veri, imza) her biri geçerli base64url metni olmalı ve başlık ile veri geçerli JSON'a çözülmelidir. Bu araç başlığı ve veriyi bağımsız olarak çözer ve sessizce başarısız olmak yerine hangisinin bozuk olduğunu ve nedenini (kötü base64, kötü UTF-8 veya geçersiz JSON) tam olarak söyler.