Token機制雖說很早就出現(xiàn)了,但也就是最近十年內(nèi)才廣泛應用的,而很多新手對于Token和Session何時使用區(qū)分不了,雖說聽說過Token但不知道其原理是啥以及如何使用。
Token是為了解決什么問題而生的?
在Token機制之前,服務器端驗證客戶端請求是否合法主要是靠Cookie+Session機制來實現(xiàn)的。服務器端會為每個會話都生成一個Session,在
Token機制流程
Token超時問題如何解決?
服務器端生成的Token是有生命周期的(過期時間),如果我們拿著已過期的Token去服務器端驗證肯定是無法通過的,所以
1、客戶端存儲Token時要記錄Token的過期時間
客戶端拿到服務器生成返回的Token后,需要將Token臨時存儲起來(SessionStorage、LocalStorage),然后客戶端定時檢測Token是否已過期,如果過期了則主動向授權服務器重新發(fā)起認證請求。
2、由服務器端主動通知客戶端進行Token更新
客戶端每次的請求中都會帶上Token,服務器會對此Token進行校驗,如果服務器端發(fā)現(xiàn)此Token將會在很短時間內(nèi)失敗,那就重新生成Token并附加到響應體中,客戶端獲取服務器響應數(shù)據(jù)時看下是否有Token,如果有則覆蓋本地舊的Token即可。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流~我是科技領域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗,我了解更多科技知識!