[JWT] Idea การออกแบบ Token สำหรับ Microservice

พอดีลองมาเยอะครับ เลยขอสรุป Pattern ที่ใช้ครับ Blog นี้อาจจะสั้นนิดนึงนะ โดยผมแยก Token ออกเป็น 2 กลุ่ม ได้แก่ Access Token กับ Refresh Token โดยแต่ละอันมีรายละเอียด ดังนี้

Access Token

  • ระยะเวลาสั้น เก็บ Anything เช่น พวกสิทธิในระบบ
  • Size ยิ่งใหญ่ทำให้ Request นานๆ ข้อมูลบางอย่าง เช่น พวกสิทธิ อาจจะต้องแปลงให้เล็กที่สุด โดยอาจจะทำเป็นเลขฐาน 2 แทน
  • ถ้า Expired Return Code 4xx แต่ไม่ได้อยู่ในมาตรฐานนะ แล้วแต่องค์กรจะตกลงกัน

Refresh Token

  • ระยะเวลายาว - เก็บว่า User ยังอยู่ในระบบนะ
  • เอาไปขอ Access Token
  • ถ้า Logout ไป Server ต้องเก็บ Token Id ว่ามัน Expired ไปแล้ว มันไม่สามารถมาขอ Token อื่นๆได้
  • Pettern ของ Return Code 401 403

 


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.