ข้ามไปยังเนื้อหาหลัก

ถอดรหัส JWT ฟรี

ถอดรหัสและตรวจสอบ JSON Web Token ดู header, payload, วันหมดอายุ และ claim มาตรฐาน ทุกอย่างทำงานในเบราว์เซอร์ — token ไม่เคยออกจากอุปกรณ์

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว

🔒 Token ถูกถอดรหัสทั้งหมดในเบราว์เซอร์ของคุณ ไม่มีข้อมูลถูกส่งไปยังเซิร์ฟเวอร์

การใช้งานทั่วไป

  • ปัญหาการรับรองความถูกต้องของ Debug ด้วย JWT Decoderตรวจสอบ JWT จากแอปของคุณเพื่อดีบัก ล็อกอินล้มเหลว ปัญหาการอนุญาต และปัญหาการหมดอายุโทเค็น
  • ตรวจสอบโทเค็น API ขณะทดสอบปลายทางถอดรหัส JWT ที่ส่งคืนโดย API ของคุณเพื่อตรวจสอบว่าการเรียกร้อง ขอบเขต และสิทธิ์ที่ถูกต้องกำลังออกให้
  • โทเค็น JWT ตรวจสอบความปลอดภัยตรวจสอบ JWT เป็นส่วนหนึ่งของการตรวจสอบความปลอดภัย: ตรวจสอบขั้นตอนวิธีการลงนามที่อ่อนแอ อายุโทเค็นที่ยาวนาน หรือข้อมูลที่ละเอียดอ่อนในโครงสร้าง
  • ตรวจสอบโทเค็น OAuth และ OpenID Connectถอดรหัสโทเค็นการเข้าถึง โทเค็น ID และโทเค็นรีเฟรชจาก Google Auth0 Okta Microsoft และผู้ให้บริการ OAuth อื่น ๆ
  • เรียนรู้วิธีการทำงานของโทเค็น JWTถอดรหัส JWT ตัวอย่างเพื่อทำความเข้าใจโครงสร้าง: ส่วนหัว เพลย์โหลด และลายเซนต์ ดูตัวอย่างการเรียกร้องจากโลกแห่งความจริง

วิธีการทำงาน

ตัวถอดรหัสเป็นตัวแยกวิเคราะห์ที่เขียนขึ้นเองโดยไม่พึ่งพาสิ่งใด ทำงานในเบราว์เซอร์ทั้งหมด: แบ่งโทเค็นตามจุด แปลงแต่ละส่วน Base64URL เป็น Base64 ธรรมดาด้วยการแทนที่สตริงและเติมให้เป็นผลคูณของสี่ แล้วเรียก atob() และ JSON.parse เนทีฟของเบราว์เซอร์เพื่อกู้ออบเจกต์ header และ payload การตรวจสอบลายเซ็นที่เลือกได้ใช้ Web Crypto API (crypto.subtle.verify) — ไม่มีไลบรารี ไม่มีเซิร์ฟเวอร์

  1. 1
    ถอดรหัส Base64URL
    เครื่องมือแบ่ง JWT ตามตัวคั่นจุดสองตัว ได้สามส่วน แต่ละส่วนเป็น Base64URL — ซึ่งใช้ - และ _ แทน + และ / และไม่มีการเติม โค้ดสลับอักขระเหล่านั้นกลับและเติมเครื่องหมาย = แล้วเรียก atob() ในตัวของเบราว์เซอร์เพื่อถอดรหัสไบต์
  2. 2
    แยกวิเคราะห์ JSON และดึง claim
    ไบต์ที่ถอดรหัสแล้วถูกส่งผ่าน JSON.parse เพื่อได้ออบเจกต์ header และ payload claim ที่ลงทะเบียน exp, iat และ nbf ถูกดึงเป็น Unix timestamp และแปลงเป็นออบเจกต์ Date สถานะหมดอายุถูกตรวจใหม่ทุก 20 วินาทีผ่าน setInterval โทเค็นที่หมดอายุขณะแท็บเปิดอยู่จึงเปลี่ยนจากใช้ได้เป็นหมดอายุโดยอัตโนมัติ เวลาแบบสัมพัทธ์ ('อีก 3 วัน', '2 ชั่วโมงที่แล้ว') จัดรูปแบบด้วย Intl.RelativeTimeFormat ตามภาษาของเบราว์เซอร์
  3. 3
    แสดงลายเซ็นและตรวจสอบ (ไม่บังคับ)
    สตริงลายเซ็น Base64URL ดิบแสดงคู่กับ header และ payload หากคุณระบุคีย์ เครื่องมือจะเรียก crypto.subtle.importKey และ crypto.subtle.verify เพื่อตรวจลายเซ็นในเครื่อง รองรับความลับร่วมแบบ HMAC (HS256/384/512) คีย์สาธารณะ RSA แบบ PEM (RS256/384/512) และคีย์สาธารณะ ECDSA หรือออบเจกต์ JWK/JWKS (ES256/384/512) — กำหนดโดยช่อง alg ใน header
  4. 4
    ไม่มีการร้องขอเครือข่าย
    ทุกขั้นตอน — การถอดรหัส การคำนวณเวลา และการตรวจสอบเชิงวิทยาการเข้ารหัส — ทำงานภายในเอนจิน JavaScript ของเบราว์เซอร์ โทเค็นและข้อมูลคีย์ที่คุณป้อนไม่เคยออกจากอุปกรณ์

JWT มักมีข้อมูลรับรองเซสชัน ตัวตนผู้ใช้ และขอบเขตสิทธิ์ เครื่องมือนี้ถอดรหัสและตรวจสอบ (หากเลือก) ในเบราว์เซอร์ทั้งหมดด้วย atob() และ Web Crypto API ทั้งโทเค็นและคีย์ที่คุณระบุจึงไม่ถูกส่งไปที่ใด

เครื่องมือที่เกี่ยวข้อง

คำถามที่พบบ่อย