ข้อมูลจำเพาะ JWT อธิบายถึงน้ำหนักบรรทุกและวิธีการส่ง แต่ปล่อยให้โปรโตคอลการตรวจสอบความถูกต้องเปิดซึ่งช่วยให้มีความยืดหยุ่น แต่น่าเสียดายที่ความยืดหยุ่นสามารถนำไปสู่การออกแบบและออกแบบที่ผิด
ฉันกำลังมองหาแนวคิดที่ดีและผ่านการทดสอบการใช้งานองค์กรสำหรับการรับรองความถูกต้อง JWT ซึ่งฉันสามารถใช้หรือปรับเปลี่ยนได้ แต่ฉันล้มเหลวในการค้นหาสิ่งที่สมบูรณ์
สิ่งที่ฉันคิดคือ
- เมื่อไม่พบส่วนหัวการให้สิทธิ์หรือโทเค็น JWT ไม่ถูกต้องหรือหมดอายุให้ส่ง HTTP 401
- เพื่อตรวจสอบสิทธิ์ใช้ / ล็อกอินช่อง REST ส่งชื่อผู้ใช้และรหัสผ่านเป็นวัตถุ JSON
- เพื่อให้โทเค็นยังมีชีวิตอยู่ใช้ / keepalive REST ช่องเรียกมันทุก ๆ N (5) นาทีรับโทเค็น JWT ใหม่และแทนที่หนึ่งที่มีอยู่หลังจากแต่ละสาย (โทเค็นหมดอายุหลังจาก M (15) นาที)
อย่างไรก็ตามสิ่งที่รบกวนฉันคือความจำเป็นของช่องทางนั้น / keepalive ในทางกลับกันมันบังคับให้ฉันเพื่อป้องกันไม่ให้การรับรองความถูกต้องหมดอายุแม้ว่าผู้ใช้จะไม่อยู่ (การตัดสินใจถ้าเรายังต้องการ keepalive ยังไม่พบ) และแน่นอนการโทรเหล่านั้นเป็นพิเศษและมีความซับซ้อนเป็นพิเศษในโปรโตคอล สิ่งที่น่าสนใจก็คือเซิร์ฟเวอร์นั้นจะขยายโทเค็นโดยอัตโนมัติ ในสภาพแวดล้อมแบบเซสชันนั้นเกิดขึ้นโดยการรีเซ็ตเวลาประทับที่นี่อย่างไรก็ตามเซิร์ฟเวอร์จะต้องส่งโทเค็นใหม่อาจไม่ได้แต่ละครั้ง แต่เมื่อโทเค็นจะหมดอายุใน R (พูด 10 นาที) แต่การวางไว้ในเนื้อหาของการตอบสนองจะหมายถึงการแก้ไขโปรโตคอลการตอบสนอง JSON (ดังนั้นการแก้ปัญหาคือการบุกรุกและไม่โปร่งใส) และการวางส่วนหัว HTTP เพิ่มเติมที่ไคลเอ็นต์สามารถประมวลผลอาจไม่ได้เป็นรูปแบบที่ดี ผม'
มีรูปแบบองค์กรพร้อมที่ตอบจุดเปิดของฉันหรือไม่ โปรโตคอลของฉันเป็นแบบร่างความคิดที่เชื่อถือได้หรือไม่? ฉันต้องการใช้สิ่งที่พร้อมกว่าการออกแบบตั้งแต่เริ่มต้น