最新消息: 新版網站上線了!!!

Token流程是什么?怎么解決超時問題的?靠Cookie+Session機制

Token機制雖說很早就出現了,但也就是最近十年內才廣泛應用的,而很多新手對于Token和Session何時使用區分不了,雖說聽說過Token但不知道其原理是啥以及如何使用。

Token是為了解決什么問題而生的?

在Token機制之前,服務器端驗證客戶端請求是否合法主要是靠Cookie+Session機制來實現的。服務器端會為每個會話都生成一個Session,在高并發場景下會導致Session文件越來越多,不利于管理。

而Token是服務器端生成的一串加密字符串(具有生命周期),分配給客戶端作為令牌使用,Token的好處就是減輕了服務器端的壓力,因為Token是由客戶端存儲的,而且是無狀態的。

Token超時問題如何解決?

1559659651922234.png

服務器端生成的Token是有生命周期的(過期時間),如果我們拿著已過期的Token去服務器端驗證肯定是無法通過的,所以我們要在Token過期之前主動更新Token,方案如下:

1、客戶端存儲Token時要記錄Token的過期時間

客戶端拿到服務器生成返回的Token后,需要將Token臨時存儲起來(SessionStorage、LocalStorage),然后客戶端定時檢測Token是否已過期,如果過期了則主動向授權服務器重新發起認證請求。

2、由服務器端主動通知客戶端進行Token更新

客戶端每次的請求中都會帶上Token,服務器會對此Token進行校驗,如果服務器端發現此Token將會在很短時間內失敗,那就重新生成Token并附加到響應體中,客戶端獲取服務器響應數據時看下是否有Token,如果有則覆蓋本地舊的Token即可。


轉載請注明:谷谷點程序 » Token流程是什么?怎么解決超時問題的?靠Cookie+Session機制

体彩25选5开奖号码