JWT Oluşturucu

JWT oluştur

Bir JWT belgesini doğrudan tarayıcınızda oluşturun ve imzalayın. Yük taleplerini (standart sub, aud, exp gibi formatlar ile özel değerler) girin, algoritmayı seçin (paylaşılan gizli anahtar kullanarak HS256 veya özel anahtar kullanarak RS256/ES256) ve araç üç parçalı JWT belgesini üretir. Bu özellik yerel geliştirme, yük testi ve kimlik doğrulama sorunlarının tekrarlanması için oldukça faydalıdır.

JWT nasıl oluştururuz?

  1. 1

    Yükü yazın

    Standart talepler (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) ve uygulamanızın beklediği herhangi bir özel talep.

  2. 2

    Algoritmayı seçin

    Ortak sırra sahip HS256/384/512 ya da PEM formatındaki özel anahtarla RS256/ES256.

  3. 3

    Anahtarı sağlayın

    HMAC için ortak gizli metin veya RSA/ECDSA için özel anahtar yeleğe alın. Her ikisi de tarayıcınızda kalır.

  4. 4

    Yarat

    Çıkış, imzalı tokendir. Onu kopyalayın, testlerde kullanın ve incelemek için JWT Dekoder ile çözün.

Kimliği doğrulanmış bir kullanıcı tokeni için tipik yük (payload)

{
  "iss": "https://auth.example.com",
  "aud": "api.example.com",
  "sub": "user_12345",
  "iat": 1713398400,
  "nbf": 1713398400,
  "exp": 1713402000,
  "jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
  "scope": "read:profile write:posts"
}

Algoritma Seçimi: HMAC vs Asimetrik

Algoritma Anahtar türü Kullanım durumu
HS256 256 bitlik ortak gizli şifre Kendini imzalayan ve doğrulayan monolitik yapı
HS384/512 Daha uzun gizli değer HS256 ile aynı, daha güçlü
RS256 RSA 2048+ Yayıncı imzalar; birçok hizmet kamusal anahtarla doğrulama yapar
ES256 ECDSA P-256 RS256 ile aynıdır ancak imzalar daha küçük
EdDSA Ed25519 En hızlı asimetrik doğrulama, en küçük anahtarlar

Anahtar Gücü

  • HMAC sırları, algoritmanın çıktı boyutuna eşit veya daha fazla entropiye sahip olmalıdır. HS256 için 256 rastgele bit (32 bayt) gereklidir; daha az sayıda bit kullanıldığında kuvvetli deneme yöntemiyle çözülebilir hale gelir.
  • RSA anahtarları en az 2048 bit olmalıdır; uzun ömürlü tokenler için 3072 veya 4096 bit kullanılmalıdır.
  • ECDSA (ES256), çok daha küçük anahtarlar ve daha hızlı imzalama imkânı sunarak RSA 3072 ile kıyaslanabilir bir güvenlik seviyesi sağlar.

Son kullanım tarihi talimatları

Token türü Tipik exp süresi
Erişim Tokeni 5–60 dakika
Yenileme tokeni Günlerden haftalara
Şifre Yenileme 5–15 dakika
E-posta doğrulaması 24 saat
Hizmetten hizmete 1–5 dakika (kısa)

Kısa ömürlü token ile yenileme tokeninin birlikte kullanılması modern yaklaşımdır. Uzun ömürlü erişim tokenlarının sızdırıldığında iptal edilmesi oldukça zordur.

Yaygın Hatalar

  • Üretim ortamında bir test gizli değerini tekrar kullanmak: Jeneratör, gizli değer zayıf görünüyorsa HS256 gizli değerlerini ve çıktı JWT’yi yalnızca test amaçlı olarak işaretler. Bu uyarıya güvenin.
  • exp olmadan imzalama: Son kullanma tarihi belirtilmeyen bir JWT sonsuz süre geçerlidir. Çok güçlü bir gerekçe veya geri çağırma listesi yoksa her zaman exp’ı ayarlayın.
  • Başlıktaki alg değerine güvenmek. Doğrulama aşamasında her zaman algoritmaları beyaz listeye alın; tokenin talep ettiği yönden hareket etmeyin.
  • Buraya gerçek bir özel anahtar yapıştırmak. Bu jeneratör tarayıcınızda çalışır; ancak özel anahtarları gizli bilgiler olarak ele alın: üretim anahtarları yerine test anahtarlarını kullanın.

Sık Sorulan Sorular

İmzalama işlemi, Web Crypto API’si kullanılarak tarayıcınızda gerçekleşir. Anahtarlar asla cihazınızdan çıkmaz. Ancak üretim anahtarları için imza işlemi kontrol altındaki bir ortamda yapılmalı; tarayıcıda değil.

HS256, aynı hizmeti gerçekleştiren ve doğrulayan bir monolit sistem için uygundur. Yayıtıcı ile doğrulayıcı ayrı durumda ise RS256 veya ES256 daha uygundur; çünkü kamusal anahtarlar imza anahtarı açıklanmadan paylaşılabilir.

Giriş tokelleri için genellikle 5–15 dakika sürer. Pürüzsüz kullanıcı deneyimi sağlamak için daha uzun yaşam süresine sahip bir yenileme tokeni kullanın. Hiçbir zaman exp iddiası olmadan JWT çıkarmayın.

Bu araç, kırılmış veya imzalanmamış token’ların kasıtlı olarak test edilmesi için alg: none kodunun gönderilmesini destekler ve bunu belirgin bir uyarıla görür. Bu tür token’ları üretim kodunda asla kabul etmez.

İlgili Araçlar

Araç diğer dillerde mevcuttur