Handytool
คำแนะนำผู้พัฒนาอ่าน5นาทีอัปเดต24 ก.พ. 2569

ยูทิลิตี้สำหรับนักพัฒนาทันที

ถอดรหัส JWT ใด ๆ และตรวจสอบการเรียกร้องทันที

ตัวถอดรหัส JWT ของ Handytool แยก JSON Web Token ใด ๆ ออกเป็น header payload และการเรียกร้อง โดยตรวจสอบหมดอายุและประทับเวลาที่อ่านได้โดยมนุษย์ ทั้งหมดในเบราว์เซอร์ของคุณ ไม่เคยสัมผัสเซิร์ฟเวอร์

ประเด็นสำคัญ

  • 01ถอดรหัส JWT ใด ๆ และตรวจสอบ header payload และการเรียกร้องมาตรฐานในการวาง
  • 02มี exp nbf และ iat claims ถูกแปลงเป็น timestamps ที่อ่านได้โดยมนุษย์พร้อมแท็ก valid/expired
  • 03การถอดรหัสเป็นเพียงในเครื่องเท่านั้น ปลอดภัยสำหรับการวาง production tokens ที่แท้จริงในขณะที่ debug
  • 04ตัวถอดรหัสจะไม่ตรวจสอบลายเซ็น ซึ่งต้องเกิดขึ้นทางเซิร์ฟเวอร์ด้วยคีย์ของผู้ออก

ทำไมคุณต้อง JWT Decoder

JSON Web Tokens ดูเหมือนเสียงรบกวนแบบสุ่มจนกว่าคุณจะรู้ว่าพวกมันเป็นส่วน Base64URL สามส่วนคั่นด้วยจุด ส่วนแรกคือ header (อัลกอริทึมและประเภทโทเค็น) ส่วนที่สองคือ payload (การเรียกร้อง: ID ผู้ใช้ บทบาท หมดอายุ) และส่วนที่สามคือลายเซ็น เมื่อแก้ไขปัญหาการตรวจสอบสิทธิ์ เซสชันหมดอายุ หรือการผสานรวม OAuth ที่หัก สิ่งแรกที่คุณต้องทำคือ อ่าน payload

การทำเช่นนั้นด้วยมือหมายถึงการแยกจุด ถอดรหัส Base64URL และจากนั้นแปลง unix timestamps เป็นวันที่ที่อ่านได้ Handytool ของ JWT decoder ทำสิ่งนั้นโดยอัตโนมัติและเพิ่มแท็กความถูกต้องในการเรียกร้องเวลาเพื่อให้คุณสามารถดูได้ว่าโทเค็นยังคงใช้งานอยู่

วิธีถอดรหัส JWT Token

  1. 01

    คัดลอก JWT

    เก็บโทเค็นจาก DevTools ของเบราว์เซอร์ (Application > Cookies หรือแผง Network Authorization header) จากไฟล์บันทึก หรือจากไคลเอนต์ API ของคุณ

  2. 02

    วางลงในตัวถอดรหัส

    วางโทเค็นทั้งหมด รวมถึงส่วนทั้งสามคั่นด้วยจุด ลงในกล่องอินพุต ตัวถอดรหัสจะระบุส่วนโดยอัตโนมัติ

  3. 03

    อ่าน header และ payload

    เครื่องมือแยกโทเค็นและเพรตตี้พิมพ์ header (อัลกอริทึม ประเภท) และ payload (การเรียกร้องทั้งหมด) เป็น JSON ที่จัดรูปแบบ

  4. 04

    ตรวจสอบการเรียกร้องเวลา

    exp (หมดอายุ) nbf (ไม่ก่อน) และ iat (ออกแบบ) unix timestamps ถูกแปลงเป็นวันที่ ISO ตัวถอดรหัสแท็ก exp เป็นสีเขียว (ถูกต้อง) หรือแดง (หมดอายุ) สัมพัทธ์กับเวลาท้องถิ่นปัจจุบันของคุณ

JWT Claims มาตรฐานอธิบาย

ชื่อการเรียกร้องลงทะเบียนเหล่านี้ปรากฏใน JWT ส่วนใหญ่

  • 01iss (Issuer) — ระบุว่าใครสร้างโทเค็น โดยทั่วไป URL หรือชื่อบริการ
  • 02sub (Subject) — หลักการตัวถูกแทนด้วยโทเค็น โดยปกติคือ ID ผู้ใช้
  • 03aud (Audience) — ผู้รับเป้าหมายของโทเค็น เซิร์ฟเวอร์ของคุณควรปฏิเสธโทเค็นที่มีไว้สำหรับคนอื่น
  • 04exp (Expiration) — unix timestamp หลังจากที่ต้องปฏิเสธโทเค็น
  • 05nbf (Not Before) — unix timestamp ก่อนที่ต้องปฏิเสธโทเค็น
  • 06iat (Issued At) — unix timestamp เมื่อสร้างโทเค็น มีประโยชน์สำหรับการตรวจจับโทเค็นที่เก่า

ปลอดภัยต่อการวาง Real Tokens While Debugging

JWT decoding เกิดขึ้นโดยสมบูรณ์ในเบราว์เซอร์ของคุณโดยใช้ฟังก์ชัน atob และ JSON.parse ดั้งเดิม ไม่มีการส่งไปยังเซิร์ฟเวอร์ใด ๆ โทเค็นของคุณถูกถอดรหัสในหน่วยความจำและแสดงในเครื่อง คุณสามารถวาง access tokens และ session tokens จริงจากสภาพแวดล้อมการพัฒนา หรือ staging เพื่อแก้ไขขั้นตอน authentication

นั่นกล่าว ปฏิบัติต่อ JWT เหมือนรหัสผ่าน พวกเขาให้สิทธิ์เข้าถึงระบบของคุณเต็มตลอดอายุ อย่าวาง production tokens จากบัญชี high-privilege ลงในเครื่องมือใด ๆ เว้นแต่คุณจะมั่นใจในการประกันความเป็นส่วนตัวของเครื่องมือ และหมุน token เสมอหากคุณเชื่อว่าอาจ ถูกเปิดเผย

JWT Decoder FAQ

JWT คืออะไร?

JSON Web Token เป็นรูปแบบกะทัดรัดและปลอดภัย URL ประกอบด้วยสามส่วน Base64URL (header payload signature) คั่นด้วยจุด JWT มี claims ซึ่งเป็นการยืนยันเกี่ยวกับผู้ใช้หรือเซสชัน และใช้สำหรับการตรวจสอบสิทธิ์ การให้อำนาจ และการเข้าถึง API

ตัวถอดรหัสนี้ตรวจสอบลายเซ็น JWT หรือไม่?

ไม่ ตัวถอดรหัสเพียงแยกวิเคราะห์ header และ payload เท่านั้น การตรวจสอบลายเซ็นต้องมี key ลับหรือสาธารณะของผู้ออก และต้องเกิดขึ้นในรหัสแอปพลิเคชันของคุณโดยใช้ไลบรารี่ที่เชื่อถือได้

วาง access token จริง ปลอดภัยหรือไม่?

การถอดรหัสเป็นเพียงในเครื่องเท่านั้น โทเค็นจะไม่ถูกส่ง อย่างไรก็ตาม JWT ให้การเข้าถึง real ดังนั้นปฏิบัติต่อพวกมันเหมือนรหัสผ่าน อย่าแชร์ พวกมัน อย่าคำมิตให้พวกมันเข้าสู่ control source และหมุน token ถ้าพวกมันอาจถูกเปิดเผย

exp claim หมายถึงอะไร?

exp เป็นประทับเวลา expiration unix ที่เป็นตัวแทนของช่วงเวลาที่โทเค็นหยุดใช้งาน ตัวถอดรหัสแปลงเป็นวันที่ ISO ที่อ่านได้และทำเครื่องหมายถูกต้องหรือหมดอายุสัมพัทธ์กับเวลาท้องถิ่นปัจจุบันของคุณ

ทำไม JWT payload มองเห็นได้โดยไม่ต้องใช้คีย์?

JWT payload เป็น Base64URL-encoded ไม่ได้เข้ารหัส ออกแบบให้อ่านได้ ลายเซ็นเพียงพิสูจน์ความสิทธิ์ ไม่ใช่ความเป็นความลับ ไม่ต้องใส่ข้อมูลที่เป็นความลับจริงในเพลดเลด JWT เว้นแต่คุณใช้ JSON Web Encryption (JWE)

ตัวถอดรหัสฟรีหรือไม่?

ใช่ Handytool ฟรีโดยไม่ต้องสมัคร ไม่มี rate limits และไม่มีการเก็บข้อมูล

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

ทำงานต่อด้วยเครื่องมืออรรถประโยชน์

เครื่องมืออรรถประโยชน์