JWT çözücü ve doğrulayıcı
Araçlarına sabitleBir JSON Web Token'ı çözün, süresini ve claim'lerini denetleyin, imzasını bir gizli anahtar veya açık anahtarla doğrulayın.
Tamamen tarayıcında çalışır. Yazdıkların sunucularımıza asla gönderilmez.
Yük
HS256/384/512 için bir gizli anahtar, diğerleri için PEM (SPKI veya sertifika) biçiminde bir açık anahtar ya da bir JWK veya JWKS (anahtar belirtecin kid değerine göre seçilir). Anahtar asla paylaşılmaz veya kaydedilmez.
geçmiş · 0
İşlenen girdiler bu sayfa açık olduğu sürece burada görünür. Sayfayı yenilemek listeyi temizler.
Kod örnekleri
Bu örnekleri kendi projenize kopyalayın. Her biri yalnızca dilin standart kütüphanesini kullanır, bu yüzden kurulacak bir şey yoktur.
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')
console.log(JSON.stringify(JSON.parse(json), null, 2))Ne yapar
Bir JSON Web Token’ı çözerek başlığını ve yükünü okuyun, süresinin dolup dolmadığını görün ve imzasını bir gizli anahtar ya da bir ortak anahtarla doğrulayın. Token tarayıcınızda çözülür, bu sayfada reklam yoktur ve token ile anahtar hiçbir zaman paylaşılmaz ya da kaydedilmez.
Nasıl kullanılır
- Token’ı yapıştırın. Başındaki
Beareröneki ve satır sonları yok sayılır. - Yükü biçimlendirilmiş ya da sıkıştırılmış JSON olarak okuyun. Altında algoritmayı, durumu ve
exp,nbfileiatzamanlarını, şimdiden ne kadar uzak olduklarıyla birlikte görürsünüz. - İmzayı doğrulamak için anahtarı girin: HS256, HS384 ve HS512 için bir gizli anahtar, RS, PS, ES ve EdDSA için bir ortak anahtar (PEM veya JWK).
- Başlığı ve yükü JSON ile Claim’ler arasında değiştir: Claim’ler her claim’i anlamıyla listeler ve zaman claim’lerini tarih olarak gösterir.
- Kodla sekmesini açıp bir başlık ve yük yaz, bunları bir gizli anahtar veya özel anahtarla (PKCS#8 PEM ya da JWK) imzala. Bu sekmedeki hiçbir şey kaydedilmez, paylaşılmaz veya geçmişe eklenmez.
Örnekler
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Bu token’ın yükü:
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
İmzası your-256-bit-secret gizli anahtarıyla doğrulanır.
Bilmekte fayda var
- Çözmek, doğrulamak demek değildir: yük yalnızca kodlanmıştır, şifrelenmemiştir ve herkes okuyabilir.
- Sunucunuz, herhangi bir talebe güvenmeden önce imzayı doğrulamalıdır.
- Algoritması
noneolan token imzasızdır, yani onu herkes üretmiş olabilir. - Canlı token’lara parola gibi davranın. Buraya yapıştırırken süresi dolmuş ya da test token’larını tercih edin.
- Yapıştırılan bir JWKS, belirtecin
kiddeğerine göre taranır; tek bir JWK olduğu gibi kullanılır. Sayfa, belirtecin düzenleyicisinden asla anahtar kümesi indirmez. - Hash’inden kısa bir HMAC gizli anahtarı (32, 48 veya 64 bayt) tahmin edilebilir; bu yüzden sayfa seni uyarır. Gizli anahtar UTF-8 metni ya da Base64URL olarak okunabilir.
JWT nedir?
JSON Web Token, noktalarla birleştirilmiş üç Base64URL bölümdür: imza algoritmasını belirten bir başlık, token'ın kimin için olduğu ve ne zaman sona erdiği gibi claim'leri içeren bir yük ve bir imza. İlk iki bölümü herkes okuyabilir; token'ın anahtara sahip birinden geldiğini yalnızca imza kanıtlar.
Sık sorulan sorular
Token'ı çözmek onu doğrulamakla aynı mı?
Hayır. Çözmek yalnızca şifrelenmemiş içeriği okur. Doğrulamak imzayı anahtarla denetler ve sunucunuz herhangi bir claim'e güvenmeden önce bunu yapmalıdır.
exp, nbf ve iat ne demek?
exp token'ın sona erdiği an, nbf öncesinde geçerli olmadığı an, iat ise düzenlendiği andır; hepsi 1970'ten beri geçen saniyedir. Bu araç onları cihazınızın saatiyle karşılaştırır.
Buraya gerçek bir token yapıştırmak güvenli mi?
Token tarayıcınızda çözülür ve sunucularımıza hiçbir zaman gönderilmez; bu sayfada reklam da yoktur. Yine de canlı token'lara parola gibi davranın: süresi dolmuş veya test token'larını tercih edin.