Menu

Saturday, April 7, 2018

[Laravel - Package] การสร้าง Refresh Token เองจาก jwt-auth version 1.0.0-rc.1
[Laravel - Package] How to Manually Generate Refresh Token from jwt-auth version 1.0.0-rc.1

tymon/jwt-auth เป็น library สำหรับจัดการการเข้าใช้งานแบบ token โดยเวอร์ชั่นล่าสุดในตอนนี้ คือ 1.0.0-rc.1

สำหรับ access token สามารถสร้าง, ตรวจสอบและใช้งานได้อย่างปกติ แต่สำหรับการ refresh token นั้นจะผิดแปลกไปจาก library สำหรับ JWT ทั่วไป

โดยทั่วไปแล้ว หลังจากที่เรา refresh token ไปแล้ว เราจะได้ access token ใหม่ที่เริ่มนับเวลาหมดอายุรวมถึงเวลาที่สามารถทำการ refresh ใหม่ด้วย เพื่อใช้ token นั้นในระบบต่อไป โดยที่ระบบจะบังคับให้เรา login ใหม่ก็ต่อเมื่อเราไม่ได้ใช้งานระบบเป็นเวลานานจน access token หมดอายุและเลยกำหนดเวลาที่จะ refresh token ได้

สำหรับการ refresh token ของ jwt-auth นั้น access token ใหม่จะเริ่มนับเวลาหมดอายุใหม่เท่านั้น แต่เวลาที่สามารถทำการ refresh ใหม่นั้น ยังคงนับเวลาต่อจากเวลาของ token เดิม เนื่องจากเวลาสร้างของ access token ใหม่ใช้เวลาสร้างเดียวกับ access token เดิม ทำให้ไม่ว่าเราจะ refresh token ไปกี่ครั้ง ระบบก็จะบังคับให้เรา login ใหม่ เมื่อ access token ปัจจุบันหมดอายุและเลยกำหนดเวลาที่จะ refresh token ตัวแรกที่ได้หลังจาก log in ได้