JWT
เครื่องมือ JWT ถอดรหัสและตรวจสอบ JSON Web Token เพื่อให้คุณตรวจดูโครงสร้าง เคลม และคุณสมบัติด้านความปลอดภัยได้โดยไม่ต้องมีคีย์ส่วนตัว
การใช้เครื่องมือ
- วาง JWT ในฟิลด์ข้อมูลเข้า เครื่องมือรับรูปแบบมาตรฐานสามส่วนที่คั่นด้วยจุด
- เครื่องมือจะแยกส่วนหัวและเพย์โหลด แล้วถอดรหัสจาก Base64 โดยอัตโนมัติ
- ตรวจดูผลลัพธ์ที่ถอดรหัสแล้วในสามส่วนด้านล่าง
การตรวจสอบข้อมูลไม่ต้องใช้คีย์ การตรวจสอบความถูกต้องของลายเซ็นเป็นการดำเนินการแยกต่างหาก
ส่วนที่ถอดรหัสแล้ว
ส่วนหัว
แสดงฟิลด์อัลกอริทึม (alg) และ ID คีย์ (kid) คำเตือนเกี่ยวกับอัลกอริทึมจะแสดงที่นี่:
| เงื่อนไข | ระดับคำเตือน |
|---|---|
alg: none | วิกฤต: โทเค็นไม่มีลายเซ็น |
alg: HS256 | ข้อสังเกต: เป็นแบบสมมาตร หากใช้ค่าลับที่อ่อนแอก็อาจถูกโจมตีแบบลองทุกค่าได้ |
alg: RS256 หรือ ES256 | ไม่มีคำเตือน |
เพย์โหลด
แสดงเคลมทั้งหมดพร้อมค่าและชนิดข้อมูลที่อนุมานได้ เคลมมาตรฐานที่ถอดรหัส:
| เคลม | ความหมาย |
|---|---|
iss | ผู้ออกโทเค็น |
sub | บุคคลหรือสิ่งที่โทเค็นกล่าวถึง (มักเป็น ID ผู้ใช้) |
aud | ผู้รับที่กำหนดไว้ |
exp | เวลาหมดอายุ |
nbf | ไม่ใช้ก่อนเวลานี้ |
iat | เวลาที่ออกโทเค็น |
jti | ID ของ JWT (ตัวระบุโทเค็นที่ไม่ซ้ำกัน) |
เคลมที่กำหนดเองจะแสดงด้านล่างกลุ่มเคลมมาตรฐาน
การตรวจสอบวันหมดอายุ
หากโทเค็นมีเคลม exp เครื่องมือจะเปรียบเทียบกับเวลาปัจจุบันและแสดงสถานะใดสถานะหนึ่ง:
- ถูกต้อง: โทเค็นยังไม่หมดอายุ
- หมดอายุแล้ว: โทเค็นเลยเวลาหมดอายุแล้ว พร้อมแสดงระยะเวลาที่ผ่านไป
- ไม่มีวันหมดอายุ: โทเค็นไม่มีเคลม
exp
ลายเซ็น
แสดงลายเซ็นดิบที่เข้ารหัสแบบ Base64url เครื่องมือจะไม่พยายามตรวจสอบความถูกต้องจนกว่าคุณจะระบุคีย์ ส่วนนี้แสดงเพื่อใช้อ้างอิงและยืนยันว่ามีลายเซ็นอยู่
สิ่งที่ควรตรวจดู
- ไลบรารีบางตัวรับโทเค็น
alg: noneโดยไม่ตรวจสอบความถูกต้อง ทดสอบว่าแอปพลิเคชันเป้าหมายรับโทเค็นเหล่านี้หรือไม่ - โทเค็นที่มีอายุยาว (
expห่างจากiatหลายวันหรือหลายปี) บ่งชี้ว่าแอปพลิเคชันไม่ได้หมุนเวียนโทเค็น - ข้อมูลอ่อนไหว (ข้อมูลระบุตัวบุคคล, ID ภายใน และแฟล็กบทบาท) ที่เก็บในเคลมเพย์โหลดโดยไม่เข้ารหัสลับสามารถอ่านได้โดยทุกคนที่ถือโทเค็น
- โทเค็นที่ไม่มี
jtiไม่สามารถเพิกถอนเป็นรายโทเค็นได้