ตัวถอดรหัส JWT
ถอดรหัส JSON Web Tokens (JWT) ได้ทันที ทำงานในเบราว์เซอร์ของคุณ โทเค็นจะไม่ออกจากอุปกรณ์ของคุณ จึงปลอดภัยที่จะใช้กับซีเคร็ตในโปรดักชัน
วิธีใช้เครื่องมือนี้
- 1
วาง JWT ของคุณลงในช่องป้อนข้อมูล
- 2
คลิก Decode ระบบจะแยกวิเคราะห์และแสดง header และ payload
- 3
ตรวจสอบอัลกอริทึม, claim, วันหมดอายุ และผู้ออก
JWT คืออะไรและทำงานอย่างไร?
JSON Web Token (JWT กำหนดไว้ใน RFC 7519) เป็นวิธีที่กะทัดรัดและปลอดภัยสำหรับ URL ในการแสดงชุดของเคลม (claims) เกี่ยวกับผู้ใช้ พร้อมหลักฐานเชิงเข้ารหัสว่าเคลมเหล่านั้นไม่ถูกแก้ไข JWT ขับเคลื่อนการยืนยันตัวตนในสแตกเว็บสมัยใหม่ส่วนใหญ่ เมื่อคุณเข้าสู่ระบบ เซิร์ฟเวอร์จะสร้าง JWT ที่มี ID ผู้ใช้และสิทธิ์ของคุณ ลงลายเซ็นด้วยคีย์ลับ แล้วส่งกลับมาให้คุณ เบราว์เซอร์ของคุณจัดเก็บโทเค็น (โดยปกติใน localStorage หรือคุกกี้) และแนบไปกับส่วนหัว Authorization ในทุกคำขอถัดไป เซิร์ฟเวอร์ตรวจสอบลายเซ็นในทุกคำขอ หากถูกต้องก็จะเชื่อถือเคลมในโทเค็น หากถูกแก้ไข ลายเซ็นจะเสียและคำขอจะถูกปฏิเสธ JWT มีสามส่วนที่เข้ารหัสแบบ Base64URL และคั่นด้วยจุด ส่วนหัวประกาศอัลกอริทึมการลงลายเซ็น (HS256 สำหรับ HMAC-SHA256, RS256 สำหรับ RSA, ES256 สำหรับ ECDSA, none สำหรับโทเค็นที่ไม่ได้ลงลายเซ็น ซึ่งอันตรายและคุณควรปฏิเสธ) เพย์โหลดมีเคลมจริง (เคลมมาตรฐานอย่าง 'sub' สำหรับ subject, 'exp' สำหรับเวลาหมดอายุ, 'iat' สำหรับวันที่ออกโทเค็น รวมถึงเคลมแบบกำหนดเองใดๆ ที่แอปของคุณกำหนด) ส่วนลายเซ็นเป็นหลักฐานว่าส่วนหัวและเพย์โหลดถูกลงลายเซ็นโดยผู้ที่ถือซีเคร็ต ตัวถอดรหัสนี้เปิดเผยสองส่วนแรก ซึ่งเป็นข้อมูลสาธารณะ ส่วนลายเซ็นสามารถตรวจสอบได้ด้วยคีย์เท่านั้น นี่จึงเป็นเหตุผลที่ตัวถอดรหัส JWT ทุกตัวแสดงเคลมโดยไม่ได้ตรวจสอบ
กรณีการใช้งานทั่วไป
ดีบักปัญหาการยืนยันตัวตนโดยถอดรหัส JWT ที่ไคลเอ็นต์ของคุณส่งมา — เห็นได้อย่างแม่นยำว่ามี claim ใดบ้าง ใครเป็นผู้ออก และจะหมดอายุเมื่อใด
ตรวจสอบ JWT ของ API gateway (AWS Cognito, Auth0, Okta) เพื่อทำความเข้าใจโครงสร้าง claim สำหรับบริการปลายทาง
ยืนยันว่า claim ที่กำหนดเอง (ID องค์กร, บทบาท, feature flag) ถูกตั้งค่าอย่างถูกต้องในโค้ดการออกโทเค็น
เปรียบเทียบโทเค็นก่อนและหลังการรีเฟรชเพื่อยืนยันว่าวันหมดอายุได้รับการขยายแล้ว
ตรวจสอบอัลกอริทึมของโทเค็น — ยืนยันว่ามีการใช้ RS256 หรือ ES256 ในการใช้งานจริง ไม่ใช่ 'none' เด็ดขาด
แปลง payload แบบ base64url จากบันทึกของเซิร์ฟเวอร์ให้เป็น claim ที่มนุษย์อ่านได้
คำถามที่พบบ่อย
ปลอดภัยหรือไม่ที่จะใช้กับ JWT ในโปรดักชัน?▼
เครื่องมือนี้ตรวจสอบลายเซ็นหรือไม่?▼
จะเกิดอะไรขึ้นหาก JWT ของฉันหมดอายุ?▼
JWT สามารถเข้ารหัสได้หรือไม่?▼
'alg': 'none' หมายความว่าอย่างไรและอันตรายหรือไม่?▼
ทำไมจึงใช้ JWT แทนคุกกี้เซสชัน?▼
เคลมมาตรฐานของ JWT มีอะไรบ้าง?▼
เครื่องมือที่เกี่ยวข้อง
เครื่องมือจัดรูปแบบและตรวจสอบ JSON
จัดรูปแบบ ตรวจสอบ และย่อขนาด JSON ออนไลน์ ทำงานทั้งหมดในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ออกจากอุปกรณ์ของคุณเลย
เครื่องมือจัดรูปแบบ XML
จัดรูปแบบและทำให้เอกสาร XML อ่านง่ายขึ้น มีประโยชน์สำหรับ SOAP, sitemap, feed RSS และไฟล์การกำหนดค่า
ตัวเข้ารหัสและถอดรหัส Base64
เข้ารหัสสตริงเป็น Base64 หรือถอดรหัส Base64 เป็นข้อความ เคารพความเป็นส่วนตัวของคุณ: ทำงานในเบราว์เซอร์ของคุณ
ตัวเข้ารหัสและถอดรหัส URL
แปลงข้อความเป็นการเข้ารหัสที่ปลอดภัยสำหรับ URL (การเข้ารหัสแบบเปอร์เซ็นต์) และกลับกัน มีประโยชน์สำหรับ query string การเปลี่ยนเส้นทาง และโฟลว์ OAuth
เครื่องมือเข้ารหัสและถอดรหัสเอนทิตี HTML
แปลงอักขระพิเศษเป็นเอนทิตี HTML (&, < เป็นต้น) และในทางกลับกัน มีประโยชน์สำหรับการฝังข้อความลงใน HTML อย่างปลอดภัย
ตัวย่อขนาด CSS
ลบคอมเมนต์ ช่องว่าง และอักขระที่ไม่จำเป็นออกจาก CSS เพื่อลดขนาดไฟล์