ตัวลงนาม JWT คืออะไร?
ตัวลงนาม JWT สร้าง JSON Web Token แบบ compact โดยแปลง header และ payload เป็นลำดับข้อมูล แล้วลงนามด้วย secret หรือ private key ผลลัพธ์คือโทเค็นสามส่วน header.payload.signature ที่ใช้ในระบบ API, OAuth และ session จำนวนมาก
ควรใช้เครื่องมือนี้เมื่อใด
- สร้างโทเค็นทดสอบในเครื่องสำหรับการพัฒนา API สภาพแวดล้อม staging และเดโม
- เปรียบเทียบว่าอัลกอริทึมต่าง ๆ เปลี่ยนเฮดเดอร์และลายเซ็นของโทเค็นอย่างไร
- เพิ่ม claims เช่น
sub,iss,aud,exp,iat,scopeหรือฟิลด์แอปพลิเคชันแบบกำหนดเอง โดยไม่ต้องเขียนสคริปต์ชั่วคราว - สร้างโทเค็นด้วยความลับที่ใช้ร่วมกันของ HMAC หรือด้วยคีย์ส่วนตัว RSA/ECDSA ในรูปแบบ PKCS#8 PEM หรือ JWK
สิ่งที่ต้องตรวจสอบก่อนใช้โทเค็นที่ลงนามแล้ว
- จับคู่อัลกอริทึมให้ตรงกับประเภทคีย์:
HS*ใช้ความลับที่ใช้ร่วมกัน,RS*และPS*ใช้คีย์ส่วนตัว RSA และES*ใช้คีย์ส่วนตัว EC - เพิ่ม claims สำหรับวันหมดอายุและ audience เมื่อบริการปลายทางคาดหวังข้อมูลเหล่านั้น
- อย่านำคีย์ส่วนตัวสำหรับ production ไปไว้ในเบราว์เซอร์และเครื่องที่ใช้ร่วมกัน เครื่องมือนี้ทำงานในเครื่อง แต่ไม่สามารถป้องกันคีย์จากอุปกรณ์ที่ถูกบุกรุกอยู่แล้วได้
- จำไว้ว่าการลงนามไม่ใช่การเข้ารหัส ทุกคนที่ได้รับโทเค็นสามารถถอดรหัสเฮดเดอร์และเพย์โหลดได้