JSON Web Token (JWT) เป็นวิธีที่กะทัดรัดและปลอดภัยต่อ URL ในการแสดงการอ้างสิทธิ์ระหว่างสองฝ่าย โดยทั่วไปจะใช้สำหรับการรับรองความถูกต้องและการให้สิทธิ์ในเว็บแอปพลิเคชัน โครงสร้างของ JWT ประกอบด้วยสามส่วน: ส่วนหัว เพย์โหลด และลายเซ็น
ส่วนหัวของ JWT มีข้อมูลเมตาเกี่ยวกับประเภทของโทเค็นและอัลกอริทึมการเข้ารหัสที่ใช้เพื่อรักษาความปลอดภัย มันถูกเข้ารหัสเป็นวัตถุ JSON และโดยทั่วไปประกอบด้วยสองคุณสมบัติ: "alg" และ "typ" คุณสมบัติ "alg" ระบุอัลกอริทึมที่ใช้สำหรับการลงนามโทเค็น เช่น HMAC, RSA หรือ ECDSA คุณสมบัติ "typ" ระบุประเภทของโทเค็น ซึ่งโดยปกติจะตั้งค่าเป็น "JWT"
นี่คือตัวอย่างของส่วนหัว JWT:
{ "alg": "HS256", "typ": "JWT" }
เพย์โหลดของ JWT มีการอ้างสิทธิ์หรือข้อความเกี่ยวกับเรื่องของโทเค็น การอ้างสิทธิ์แสดงเป็นคู่คีย์-ค่า JSON และสามารถแบ่งออกเป็นสามประเภท: การอ้างสิทธิ์ที่ลงทะเบียน การอ้างสิทธิ์สาธารณะ และการอ้างสิทธิ์ส่วนตัว การอ้างสิทธิ์ที่ลงทะเบียนถูกกำหนดล่วงหน้าโดยข้อกำหนดเฉพาะของ JWT และรวมถึงการอ้างสิทธิ์มาตรฐาน เช่น "iss" (ผู้ออก), "exp" (เวลาหมดอายุ), "sub" (หัวเรื่อง) และ "aud" (ผู้ชม) การอ้างสิทธิ์สาธารณะกำหนดโดยแอปพลิเคชันและควรใช้อย่างสม่ำเสมอในระบบต่างๆ การอ้างสิทธิ์ส่วนตัวเป็นการอ้างสิทธิ์แบบกำหนดเองที่ใช้โดยแอปพลิเคชัน แต่ไม่ได้ลงทะเบียนหรือเป็นมาตรฐาน
นี่คือตัวอย่างของเพย์โหลด JWT:
{ "iss": "example.com", "exp": 1630435200, "sub": "user123", "role": "admin" }
ลายเซ็นของ JWT ใช้เพื่อตรวจสอบความสมบูรณ์ของโทเค็นและตรวจสอบให้แน่ใจว่าไม่ได้ถูกดัดแปลง มันถูกสร้างขึ้นโดยใช้ส่วนหัวที่เข้ารหัส เพย์โหลดที่เข้ารหัส คีย์ลับ และใช้อัลกอริทึมที่ระบุจากส่วนหัว ลายเซ็นที่เป็นผลลัพธ์จะถูกผนวกเข้ากับ JWT เป็นสตริงที่เข้ารหัสเบส 64
โดยสรุป JWT ประกอบด้วยส่วนหัว เพย์โหลด และลายเซ็น ส่วนหัวประกอบด้วยข้อมูลเมตาเกี่ยวกับโทเค็น เพย์โหลดประกอบด้วยการอ้างสิทธิ์เกี่ยวกับหัวเรื่อง และลายเซ็นรับรองความสมบูรณ์ของโทเค็น ด้วยการถอดรหัสและตรวจสอบ JWT เว็บแอปพลิเคชันสามารถตรวจสอบและอนุญาตผู้ใช้ได้อย่างปลอดภัย
คำถามและคำตอบล่าสุดอื่น ๆ เกี่ยวกับ การรวบรวมคุกกี้และวิศวกรรมย้อนกลับ:
- ช่องโหว่ใดบ้างที่สามารถระบุได้เมื่อทำวิศวกรรมย้อนกลับกับโทเค็น และจะนำไปใช้ประโยชน์ได้อย่างไร
- โทเค็นการตรวจสอบสิทธิ์มีบทบาทอย่างไรในเว็บแอปพลิเคชัน และจะพบโทเค็นเหล่านี้ในตัวแก้ไขคุกกี้ได้อย่างไร
- เครื่องมือเบราว์เซอร์และโปรแกรมเสริมตัวแก้ไขคุกกี้จะใช้ในการรวบรวมและวิเคราะห์คุกกี้ได้อย่างไร
- คุกกี้หลักสามประเภทที่ใช้ในเว็บแอปพลิเคชันคืออะไร