相信使用jwt這種規范進行鑒權的同學們都會遇到這樣一個問題:“token過期了怎么處理?“”
假設一個場景:
你在生成token的時候設置了過期時間,假設過期時間為2個小時。
假如用戶是0點登錄的,那么簽發給他的這個token應該在2:00過期,但是用戶在1:59還在你的網站或者APP上操作,2點突然就被告知需要重新登錄,是不是很郁悶!
本來就應該是用戶一直在瀏覽你的網站,那么他的狀態應該一直是在線的。怎么在用戶無感知的情況下,讓他的token一直有效呢?首先為token單獨修改過期時間是不可能的,修改了過期時間驗證就通不過了,修改了過期時間就需要重新生成token。
那么每次請求就設置新的token,那么一個用戶又會積攢很多token同時有效。
要想token唯一有效就需要借助存儲工具,建立黑名單制。