1. 程式人生 > 其它 >toekn登陸身份驗證流程

toekn登陸身份驗證流程

一、 token身份驗證

基於token驗證時無狀態[*]的,我們不能將資訊儲存到伺服器中,因為當客戶每次發起驗證請求時,伺服器需要去建立一個記錄來儲存資訊,當請求越來越多時,記憶體的開銷也會不斷增加,導致伺服器壓力過大;

二、Token的身份驗證的過程流程如下

  1. 使用者通過使用者名稱或者密碼傳送請求.
  2. 伺服器接收請求後進行驗證.
  3. 驗證成功後返回一個帶簽名的token給客戶端.
  4. 客戶端儲存token,之後每次訪問伺服器都攜帶一個token到伺服器端.
  5. 服務端驗證token,校驗成功後則返回請求資料,校驗失敗則返回錯誤碼.

[*] :指協議對互動性場景沒有記憶能力
eg:在點選一個純的html網頁,請求獲取伺服器的html檔案資源時,每次http請求都會返回同樣的資訊,因為這個是沒有互動的,每一次的請求都是相互獨立的。第一個請求和第二個請求也沒有先後順序,返回處理哪個,結果都是同樣的資源頁面,因為這種場景是無互動的,無論是什麼人請求這個地址,伺服器都是返回那個相同的響應。
在無互動場景中上面那樣,當然也不會有太大的問題。但是對於涉及到動態互動的場景,就顯得很尷尬了,何為互動?有來又有往,對於一模一樣的兩個介面,不同的人在請求第二個介面時可能會基於請求第一個介面的結果而有所不同。


注:

歡迎多多指教