İçeriğe geç

JWT Oluşturucu

JSON payload’u en az 32 baytlık gizli anahtarla HS256 (HMAC-SHA256) algoritmasıyla imzalar.

RFC 7519

HS256 için en az 32 bayt.

Araç hakkında

JWT nasıl oluşturulur?

JWT üç bölümden oluşur ve bölümler noktayla ayrılır: header.payload.signature. Araç, header’ı {"alg":"HS256","typ":"JWT"} olarak sabitler, header ve payload’u UTF-8 olarak Base64URL ile kodlar, ardından header.payload dizesini gizli anahtarla HMAC-SHA256 ile imzalar.

base64url(header) + "." + base64url(payload)
→ HMAC-SHA256(gizli_anahtar, yukarıdaki dize)
→ base64url(imza)
Payload şifrelenmez; Base64URL yalnız bir kodlamadır.

Payload’a ne yazılmalı?

ClaimAnlamıÖrnek
subToken’ın ait olduğu kullanıcı veya varlık"user_123"
expSon geçerlilik zamanı (Unix saniye)1893456000
iatOluşturulma zamanı1767225600
nbfBu zamandan önce geçersiz1767225600
iss / audToken’ı veren ve kabul edecek taraf"https://auth.example.com" / "api"

Payload’u token’ı gören herkes okuyabilir. Parola, kişisel veri veya gizli anahtar yazmayın.

Anahtar uzunluğu

RFC 7518, HS256 için en az 256 bit (32 bayt) anahtar ister. Araç daha kısa anahtarları reddeder; çünkü kısa veya tahmin edilebilir anahtarlar, ele geçirilen tek bir token üzerinden çevrimdışı deneme ile bulunabilir. Anahtar üretmek için güvenli token oluşturucuyu kullanabilirsiniz.

Sık sorulan sorular

RS256 veya ES256 ile imzalayabilir miyim?

Bu araç yalnız HS256 (paylaşılan gizli anahtar) destekler. Asimetrik imza gerektiren durumlarda bir kütüphane ve özel anahtar kullanın.

Ürettiğim token’ı nasıl kontrol ederim?

JWT Çözücü içeriği gösterir, JWT Doğrulayıcı imzayı ve zaman claim’lerini denetler.

Kaynaklar