JWT實(shí)現(xiàn)自動刷新登錄TOKEN
在前后端分離場景下,一般有兩種方式來實(shí)現(xiàn)
方案一:前端控制TOKEN,無感知刷新
核心邏輯大概是:
每次請求判斷token是否過期或者快要過期
如果過期,判斷過期時(shí)間是否在可刷新token時(shí)間范圍內(nèi),如果在,刷新token,不在則登錄
如果未過期,判斷距離過期時(shí)間還有多長,例如提前10分鐘,刷新token
這種方法優(yōu)點(diǎn)是后端壓力小,代碼邏輯改動不大
但是現(xiàn)在用的框架是vue-admin,沒有深入研究過
方案二:后端判斷TOKEN
每次請求都判斷token是否過期,快要過期或者已經(jīng)過期但是在可刷新時(shí)間內(nèi),刷新token,放在http頭中
實(shí)現(xiàn)方式
在JWTUtil中添加獲取過期時(shí)間方法

2.修改JWTFilter,在驗(yàn)證TOKEN時(shí),如果TOKEN過期不直接返回異常,而是判斷一下是否在可刷新時(shí)間內(nèi)

標(biāo)簽: