Token的詳解與應用

2021-09-05 10:11:15 字數 1298 閱讀 7151

@token的詳解與應用

token是服務端生成的一串字串,充當客戶端進行請求的乙個令牌,當第一次登入後,伺服器生成乙個token便將此token返回給客戶端,以後客戶端只需帶上這個token前來請求資料即可,無需再次帶上使用者名稱和密碼。

token的目的是為了減輕伺服器的壓力,減少頻繁的查詢資料庫,使伺服器更加健壯。

無狀態、可擴充套件

跨程式呼叫

儲存在快取伺服器中比如redis

可以自定義過期時間,讓快取失效

在使用者正在操作但是token快過期時,自動重新生成乙個新token

而且相對來說比較安全,因為token生成的值是由使用者名稱+使用者id+登入時間+隨機數生成

我們都是知道http協議是無狀態的,這種無狀態意味著程式需要驗證每一次請求,從而辨別客戶端的身份。在這之前,程式都是通過在服務端儲存的登入資訊來辨別請求的。這種方式一般都是通過儲存session來完成。隨著web,應用程式,已經移動端的興起,這種驗證的方式逐漸暴露出了問題。尤其是在可擴充套件性方面。

token和session其實都是為了身份驗證,session一般翻譯為會話,而token更多的時候是翻譯為令牌。

session伺服器會儲存乙份,可能儲存到快取,檔案,資料庫;同樣,session和token都是有過期時間一說,都需要去管理過期時間。

其實token與session的問題是一種時間與空間的博弈問題,session是空間換時間,而token是時間換空間。兩者的選擇要看具體情況而定。

session是乙個在單個操作人 員整個操作過程中,與伺服器端保持通訊的惟一識別資訊。在同操作人員的多次請求當中,session始終保證是同乙個物件,而不是多個物件,因為可以對其加鎖。當同一操作人員多個請求進入時,可以通過session限制只能單向通行。

本文正是通過使用session以及在session中加入token來驗證同一 個操作人員是否進行了併發重複的請求,在後乙個請求到來時 ,使用session中的token驗證請求中的token是否致,當不一致時 ,被認為是重複提交,將不准許通過。

token的生成:

token的置換方法:

總結:以上是個人對token的一些見解,如有不對的地方還請指正,我會及時修改,一起討論,學習。

Token驗證詳解

為什麼使用token驗證 在web領域基於token的身份驗證隨處可見。在大多數使用web api的網際網路公司中,tokens 是多使用者下處理認證的最佳方式。以下幾點特性會讓你在程式中使用基於token的身份驗證 1.無狀態 可擴充套件 2.支援移動裝置 3.跨程式呼叫 4.安全 那些使用基於t...

TOKEN 驗證詳解

在web領域基於token的身份驗證隨處可變,在大多說使用web api的網際網路公司中,tokens是多使用者下處理認證的最佳方式 大部分你見到過的api和web應用都是用tokens,列如facebook,twitter,google github等 在介紹基於token的身份驗證的原理與優勢之...

Token驗證詳解

為什麼使用token驗證 在web領域基於token的身份驗證隨處可見。在大多數使用web api的網際網路公司中,tokens 是多使用者下處理認證的最佳方式。以下幾點特性會讓你在程式中使用基於token的身份驗證 1.無狀態 可擴充套件 2.支援移動裝置 3.跨程式呼叫 4.安全 那些使用基於t...