11
JWT (JSON Web Token) การยืดเวลาหมดอายุโดยอัตโนมัติ
ฉันต้องการใช้การตรวจสอบตาม JWT กับ REST API ใหม่ของเรา แต่เนื่องจากการหมดอายุถูกกำหนดในโทเค็นจึงเป็นไปได้ที่จะยืดออกโดยอัตโนมัติหรือไม่ ฉันไม่ต้องการให้ผู้ใช้ลงชื่อเข้าใช้ทุก ๆ X นาทีหากพวกเขาใช้แอปพลิเคชันในช่วงเวลานั้นอย่างแข็งขัน นั่นจะเป็น UX ขนาดใหญ่ที่ล้มเหลว แต่การยืดเวลาการหมดอายุสร้างโทเค็นใหม่ (และโทเค็นเก่ายังคงใช้ได้จนกว่าจะหมดอายุ) และสร้างโทเค็นใหม่หลังจากคำขอแต่ละครั้งฟังดูไร้สาระสำหรับฉัน ฟังดูเหมือนปัญหาด้านความปลอดภัยเมื่อมีโทเค็นมากกว่าหนึ่งอันถูกต้องในเวลาเดียวกัน แน่นอนฉันสามารถยกเลิกใช้เก่าใช้บัญชีดำ แต่ฉันจะต้องเก็บโทเค็น และข้อดีอย่างหนึ่งของ JWT ก็คือไม่มีที่เก็บข้อมูล ฉันพบวิธีที่ Auth0 แก้ไขได้ พวกเขาใช้โทเค็น JWT ไม่เพียง แต่ยังเป็นโทเค็นรีเฟรช: https://docs.auth0.com/refresh-token แต่อีกครั้งในการดำเนินการนี้ (ไม่มี Auth0) ฉันต้องจัดเก็บโทเค็นการรีเฟรชและรักษาวันหมดอายุไว้ แล้วประโยชน์ที่แท้จริงคืออะไร? ทำไมไม่มีโทเค็นเดียวเท่านั้น (ไม่ใช่ JWT) และเก็บการหมดอายุไว้บนเซิร์ฟเวอร์ มีตัวเลือกอื่น ๆ อีกไหม? การใช้ JWT ไม่เหมาะกับสถานการณ์นี้หรือไม่?