JWT Debugger ช่วยถอดรหัสและตรวจสอบ JSON Web Token — โดยการพาร์ส Header, Payload และ Signature แสดงรายการ Claim ต่างๆ และระบุสถานะการหมดอายุ เหมาะสำหรับการดีบั๊กปัญหาการยืนยันตัวตน, ตรวจสอบ OAuth/OIDC Token และยืนยันเนื้อหาใน JWT โดยไม่ต้องใช้ตัวถอดรหัสแยกต่างหากหรือต้องเข้าเว็บ jwt.io
JWT (JSON Web Token) เป็นรูปแบบยอดนิยมสำหรับ Auth Token ใน API สมัยใหม่ ทั้ง OAuth, OIDC, Session Token และการยืนยันตัวตนแบบกำหนดเอง แต่ JWT มักจะดูเหมือนข้อความที่อ่านไม่ออก ซึ่งประกอบด้วยสตริงที่เข้ารหัสแบบ Base64URL สามส่วนเชื่อมกันด้วยจุด JWT Debugger จะพาร์สสตริงนั้นแยกออกเป็นสามส่วน — Header (ข้อมูลอัลกอริทึม), Payload (ข้อมูล Claim) และ Signature — ถอดรหัสแต่ละส่วนแล้วแสดงผล JSON พร้อมไฮไลต์สีตามไวยากรณ์ ส่วน Payload จะถูกพาร์สเพื่อหา Claim ที่สำคัญ เช่น iss (ผู้รับรอง), sub (หัวข้อ), exp (หมดอายุ), iat (ออกให้เมื่อ), nbf (ไม่ก่อนเวลา), aud (กลุ่มเป้าหมาย), jti (Token ID) เวลาหมดอายุจะถูกแปลงจาก Unix timestamp เป็นรูปแบบที่มนุษย์อ่านง่าย และมีการระบุสถานะว่ายังใช้งานได้, หมดอายุแล้ว หรือยังไม่เริ่มใช้งาน เครื่องมือนี้ 'ไม่ได้' ตรวจสอบลายเซ็น (Signature) เพราะการตรวจสอบลายเซ็นต้องใช้ Secret Key ซึ่งอยู่นอกเหนือขอบเขตของเครื่องมือฝั่ง Client แต่จะช่วยให้คุณเห็นเนื้อหาที่แท้จริงใน Token เพื่อดีบั๊กปัญหาการยืนยันตัวตนได้อย่างรวดเร็ว
แยก JWT ตามจุดและถอดรหัสแต่ละส่วนแบบ Base64URL: Header, Payload และ Signature โดยแสดงผลแยกกันพร้อมไฮไลต์สีตามไวยากรณ์
แสดงอัลกอริทึม (HS256, RS256, ES256) และประเภทของ Token เพื่อตรวจสอบว่าบริการนั้นใช้รูปแบบการลงนามแบบใด
พาร์ส JSON Payload และแสดงผลด้วยสีที่แยกแยะระหว่าง Key, String, Number และ Boolean ช่วยให้เห็น Claim ทั้งหมดได้ในพริบตา
ตรวจสอบ Timestamp ของ exp (หมดอายุ), iat (ออกให้เมื่อ) และ nbf (ไม่ก่อนเวลา) พร้อมระบุสถานะว่า Token ยังใช้ได้, หมดอายุแล้ว หรือยังไม่เปิดใช้งาน ในรูปแบบเวลาที่อ่านง่าย
รู้จัก Claim ที่ลงทะเบียนไว้ (iss, sub, aud, exp, iat, nbf, jti) และมีคำอธิบายสั้นๆ เกี่ยวกับความหมายของแต่ละตัว
แสดง Token ดิบโดยแยกสีในแต่ละส่วน เพื่อให้คุณแยกแยะ Header, Payload และ Signature ได้ด้วยตาเปล่า
เมื่อ API คืนค่า 401 Unauthorized ให้วาง Token เพื่อเช็คว่าหมดอายุ, รูปแบบผิดเพี้ยน หรือออกโดยผู้รับรองที่ผิดรายหรือไม่
ถอดรหัส Access Token และ ID Token ที่ได้จาก OAuth/OIDC flow เพื่อดู Scope ที่ได้รับ, ข้อมูลผู้ใช้ และเวลาหมดอายุ
ยืนยันว่า Claim ที่จำเป็น (Role, Permission, Tenant ID) มีอยู่ใน Token ก่อนจะส่งไปยัง Backend
เมื่อ Token ถูกสร้างโดย Backend ให้ถอดรหัสเพื่อยืนยันว่าข้อมูลใน Payload ตรงกับสิ่งที่บริการนั้นตั้งใจจะออกให้จริง
ในระหว่างการตรวจสอบความปลอดภัย ให้ถอดรหัส Token ที่เก็บใน localStorage หรือ Cookie เพื่อประเมินว่ามีข้อมูลสำคัญใดถูกเปิดเผยในฝั่ง Client บ้าง
คลิกไอคอน JWT ใน DevSuite Pro dock แผงควบคุมจะเปิดขึ้นพร้อมช่องสำหรับใส่ Token และช่องแสดงผลที่ถอดรหัสแล้วสามส่วน
วาง JWT จาก API Response, Authorization Header, Cookie หรือ localStorage โดยจะใส่หรือไม่ใส่คำนำหน้า "Bearer " ก็ได้ เครื่องมือรองรับทั้งสองแบบ
ช่อง Header จะแสดงอัลกอริทึมและประเภท ยืนยันว่าตรงกับรูปแบบที่ Backend ของคุณคาดหวัง (มักจะเป็น HS256 หรือ RS256)
ช่อง Payload จะแสดง Claim ทั้งหมดพร้อมไฮไลต์สี Claim มาตรฐาน (iss, sub, exp) จะถูกระบุความหมายไว้
ป้ายสถานะจะแสดง Valid, Expired หรือ Not Yet Valid หากหมดอายุแล้ว นั่นอาจเป็นสาเหตุที่การยืนยันตัวตนของคุณล้มเหลว
ติดตั้ง DevSuite Pro ฟรีและปลดล็อกเครื่องมือสำหรับนักพัฒนามากกว่า 64 รายการสำหรับเบราว์เซอร์ของคุณ