JWT โทเค็น
วาง JWT โทเค็นเพื่อถอดรหัสทันที
วาง JWT โทเค็นเพื่อถอดรหัสทันที
เกี่ยวกับเครื่องมือนี้
การถอดรหัส JWT (JSON Web Token) เป็นสิ่งที่ฉันทำเกือบทุกวันเมื่อดีบักปัญหาการตรวจสอบสิทธิ์ ตรวจสอบโทเค็น API หรือแก้ไขปัญหาการรวมระบบ SSO เมื่อผู้ใช้รายงานข้อผิดพลาด 'การเข้าถึงถูกปฏิเสธ' สิ่งแรกที่ฉันทำคือถอดรหัส JWT ของพวกเขาเพื่อตรวจสอบเวลาหมดอายุ บทบาท และข้อความรับรอง เครื่องมือนี้ถอดรหัส JWT ทันทีโดยไม่ส่งโทเค็นไปยังเซิร์ฟเวอร์ใด ๆ—สำคัญมากเมื่อจัดการกับโทเค็นการเข้าถึงในการผลิตหรือข้อมูลรับรองของลูกค้า มันแบ่งโทเค็นออกเป็นสามส่วน (header, payload, signature) ถอดรหัส Base64 สองส่วนแรก และแสดงเนื้อหา JSON ในรูปแบบที่อ่านง่าย ลายเซ็นจะแสดงแต่ไม่ได้รับการตรวจสอบ—นี่คือเครื่องมือตรวจสอบ ไม่ใช่ตัวตรวจสอบ เหมาะสำหรับนักพัฒนาที่รวม OAuth2 ดีบักโทเค็น Auth0/Cognito หรือทำความเข้าใจว่าการตรวจสอบสิทธิ์แบบ JWT ทำงานอย่างไร ### โครงสร้าง JWT JWT ประกอบด้วย 3 ส่วนที่คั่นด้วยจุด (.):
- •**Header** - มีประเภทโทเค็นและอัลกอริทึมการลงนาม (เช่น HS256, RS256)
- •**Payload (claims)** - มีข้อมูลจริงและข้อความรับรอง
- •**Signature** - ตรวจสอบว่าโทเค็นไม่ถูกแก้ไข
ตัวถอดรหัสช่วยให้นักพัฒนาดูเนื้อหา payload อย่างรวดเร็วเพื่อวัตถุประสงค์ในการดีบัก เช่น การดูบทบาท/สิทธิ์ การตรวจสอบการหมดอายุของโทเค็น การตรวจสอบข้อมูลผู้ออก การตรวจสอบขอบเขต API และการตรวจสอบโครงสร้างโทเค็นระหว่างการนำการตรวจสอบสิทธิ์ไปใช้ ### กรณีการใช้งาน **1. ดีบักโทเค็นจากผู้ให้บริการการตรวจสอบสิทธิ์**
- •Firebase Auth
- •Auth0
- •AWS Cognito
- •Supabase
- •Keycloak
**2. การพัฒนา Frontend** ตรวจสอบ:
- •มี claim role=admin อยู่หรือไม่?
- •โทเค็นหมดอายุเมื่อผู้ใช้บ่นหรือไม่?
- •โครงสร้างโทเค็นถูกต้องหรือไม่?
**3. การพัฒนา Backend** ตรวจสอบ payload ก่อนที่จะเขียนการตรวจสอบใน backend **4. QA / การทดสอบ** ตรวจสอบโทเค็น API ระหว่างการทดสอบ API **5. การตรวจสอบความปลอดภัย (การตรวจสอบอย่างรวดเร็ว)** ตรวจสอบอัลกอริทึมลายเซ็น (alg) เพื่อความปลอดภัย:
- •HS256, RS256, ES256 → ✓ ปลอดภัย
- •NONE → ⚠️ ไม่ปลอดภัย
**6. การดีบัก OAuth 2.0 / OpenID Connect** ดู:
- •`iss` - ผู้ออก
- •`aud` - ผู้ชม
- •`exp` - การหมดอายุ
- •`nonce` - การป้องกันการโจมตีแบบเล่นซ้ำ
- •`azp` - ฝ่ายที่ได้รับอนุญาต
วิธีใช้งาน
วางโทเค็น JWT (รูปแบบ: xxxxx.yyyyy.zzzzz) ในช่องป้อนข้อมูล เครื่องมือจะแบ่งมันออกเป็นส่วน header, payload และ signature โดยอัตโนมัติ Header แสดงอัลกอริทึม (HS256, RS256 ฯลฯ) และประเภทโทเค็น Payload แสดงข้อความรับรองเช่น ID ผู้ใช้ (sub) การหมดอายุ (exp) ออกเมื่อ (iat) ผู้ออก (iss) และข้อความรับรองที่กำหนดเองที่แอปของคุณเพิ่ม เวลาหมดอายุเป็น Unix timestamps—เครื่องมือสามารถแปลงเหล่านี้เป็นวันที่ที่อ่านได้ ใช้สิ่งนี้เมื่อ API ส่งคืนข้อผิดพลาด 401 เพื่อตรวจสอบว่าโทเค็นหมดอายุหรือไม่ เมื่อดีบักการให้สิทธิ์เพื่อตรวจสอบว่ามีข้อความรับรองบทบาท/สิทธิ์หรือไม่ หรือเมื่อเรียนรู้โครงสร้าง JWT ### วิธีใช้ 1. คัดลอกโทเค็น JWT ของคุณ 2. วางในช่องป้อนข้อมูล 3. เครื่องมือจะแยก header, payload และ signature โดยอัตโนมัติ 4. ดูผลลัพธ์ที่ถอดรหัส: JSON + การแจกแจงข้อความรับรอง 5. ใช้ปุ่มคัดลอก/ส่งออกหากจำเป็น
กรณีการใช้งานทั่วไป
ดีบักข้อผิดพลาดการตรวจสอบสิทธิ์
ผู้ใช้ได้รับข้อผิดพลาด 401; ถอดรหัสโทเค็นของพวกเขาเพื่อตรวจสอบว่า timestamp exp (การหมดอายุ) ผ่านไปแล้วหรือไม่—โทเค็นมักจะหมดอายุใน 15-60 นาที
ตรวจสอบข้อความรับรอง
ถอดรหัสโทเค็นการเข้าถึงเพื่อยืนยันว่ามีข้อความรับรองที่จำเป็น (บทบาท สิทธิ์ อีเมลที่ตรวจสอบแล้ว) ก่อนที่จะตรวจสอบปัญหาอื่น ๆ
การดีบักแบบหลายผู้เช่า
ตรวจสอบข้อความรับรอง tenant_id หรือ organization_id ในโทเค็นเพื่อให้แน่ใจว่าผู้ใช้เข้าถึงทรัพยากรผู้เช่าที่ถูกต้อง
การเปรียบเทียบโทเค็น
ถอดรหัสโทเค็นจากสภาพแวดล้อมต่าง ๆ (dev/staging/production) เพื่อเปรียบเทียบความแตกต่างของข้อความรับรอง
การเรียนรู้ OAuth2/OpenID
วางโทเค็นตัวอย่างจาก Auth0, Cognito หรือ Keycloak เพื่อทำความเข้าใจโครงสร้างและข้อความรับรองมาตรฐานเช่น aud (ผู้ชม) และ scope
ข้อจำกัดและหมายเหตุสำคัญ
⚠️ **สำคัญ**: เครื่องมือนี้ถอดรหัสโทเค็นเท่านั้น ไม่ตรวจสอบลายเซ็น! เครื่องมือนี้ถอดรหัส JWT เท่านั้น—ไม่ตรวจสอบลายเซ็นหรือตรวจสอบโทเค็น โทเค็นที่ถอดรหัสที่แสดงข้อความรับรองที่ถูกต้องไม่ได้หมายความว่าโทเค็นนั้นแท้จริง ผู้โจมตีสามารถสร้างโทเค็นด้วยข้อความรับรองเท็จได้ ตรวจสอบลายเซ็นที่ฝั่งเซิร์ฟเวอร์โดยใช้คีย์ลับหรือคีย์สาธารณะของคุณ (สำหรับ RS256) เสมอ เครื่องมือทำงานกับรูปแบบ JWT มาตรฐาน (header.payload.signature ในการเข้ารหัส Base64URL) ไม่จัดการ JWT ที่เข้ารหัส (JWE) หรือโทเค็นที่ซ้อนกัน หากโทเค็นของคุณมีข้อมูลไบนารีหรือการเข้ารหัสที่ไม่ใช่มาตรฐาน การถอดรหัสอาจล้มเหลว สำหรับการตรวจสอบโทเค็นอัตโนมัติในโค้ด ให้ใช้ไลบรารี JWT ที่เหมาะสมเช่น jsonwebtoken (Node.js), PyJWT (Python) หรือ jose4j (Java) หมายเหตุด้านความปลอดภัย: อย่าวางโทเค็นการผลิตที่ละเอียดอ่อนในเครื่องมือออนไลน์ที่คุณไม่ไว้วางใจ—เครื่องมือนี้ทำงานบนฝั่งไคลเอ็นต์ แต่ตรวจสอบเสมอในแท็บเครือข่าย DevTools ว่าไม่มีอะไรถูกอัปโหลด
Technical Details
Edge Cases & Tricky Inputs
- •Expired tokens are still decoded — expiration is shown but does not prevent viewing claims.
- •Tokens with non-standard claims are displayed as-is without validation.
- •Nested JWTs (JWT within a claim) are not recursively decoded.
Performance & Processing
- •Decoding is instant since JWT headers and payloads are just Base64URL-encoded JSON.
- •Signature verification requires providing the secret/public key.
Developer Notes
- •Supports HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512 algorithms.
- •Standard claims (iss, sub, aud, exp, nbf, iat, jti) are highlighted and explained.
Known Limitations
- •RSA/EC signature verification requires pasting the public key manually.
- •JWE (encrypted tokens) are not supported — only JWS (signed tokens).
Related Tool Collections
Security & Cryptography
Hash generators, JWT tools, password generators, and encryption utilities for secure development.
API Development Toolchain
Test APIs, inspect headers, decode tokens, and document endpoints — everything for API development.