وصف الأداة

تنشئ هذه الأداة رموز JWT وتوقّعها في متصفحك. اختر خوارزمية، وعدّل الرأس والحمولة بتنسيق JSON، وسيظهر الرمز الموقّع فورًا. وهي مفيدة لاختبار API، أو تجربة إعداد مصادقة جديد، أو إنشاء token لبيئة محلية. تتم جميع العمليات في متصفحك باستخدام Web Crypto API، ولا يتم إرسال أسرارك ومفاتيحك إلى أي مكان.

عند فتح الأداة، تنشئ secret عشوائيًا، كما تنشئ زوج مفاتيح جديدًا في المرة الأولى التي تختار فيها خوارزمية تحتاج إليه، لتحصل على token صالح للعمل دون إعداد مسبق. الصق secret أو private key الخاص بك لإنشاء رموز يقبلها خادمك.

الميزات

  • توقّع باستخدام HS256 وHS384 وHS512 وRS256 وRS384 وRS512 وPS256 وPS384 وPS512 وES256 وES384 وES512 وEdDSA (Ed25519).
  • تقبل secret الخاص بـ HMAC كنص أو Base64 أو hex، وتحذّرك عندما يكون أقصر من الحد المسموح به في RFC 7518، وهو ما ترفضه العديد من المكتبات.
  • تقرأ private keys بصيغ PKCS #8 PEM (BEGIN PRIVATE KEY) وPKCS #1 PEM (BEGIN RSA PRIVATE KEY) وSEC 1 PEM (BEGIN EC PRIVATE KEY) أو JWK.
  • تعرض public key بصيغة PEM وبصيغة JWK مع kid وuse وalg، بحيث يكون جاهزًا للإضافة إلى JWKS.
  • تعيّن exp وiat وnbf وjti عشوائيًا عند توقيع token، وتعرض وقت التوقيع وانتهاء الصلاحية وفق منطقتك الزمنية.
  • توضّح المشكلة في المفتاح: public key بدلًا من private key، أو مفتاح من نوع أو منحنى غير صحيح، أو RSA key بأقل من 2048 بت، أو مفتاح محمي بكلمة مرور.
  • تحتفظ بمفتاح واحد لكل نوع من المفاتيح، بحيث يمكنك التبديل بين RS256 وES256 دون فقدان المفتاح الذي ألصقته.
  • تنشئ رموزًا غير موقّعة مع ضبط alg على none لاختبار رفض خادمك لها.

أمثلة

باستخدام HS256، والرأس {"typ": "JWT"}، والحمولة {"sub": "1234567890", "name": "جين دو"}، وضبط خيار "انتهاء الصلاحية خلال" على ساعة واحدة، تصبح الحمولة الموقّعة:

{
  "sub": "1234567890",
  "name": "جين دو",
  "iat": 1790000000,
  "exp": 1790003600
}

نصائح

يُعاد توقيع token كلما غيّرت أي شيء، لذلك يحسب iat وexp دائمًا بدءًا من الوقت الحالي. استخدم الزر الموجود أسفل token لتوقيعه مرة أخرى دون تغيير أي شيء.