Token及Token驗證流程

2021-09-12 01:24:02 字數 1663 閱讀 3637

token實際就是在計算機身份驗證中的令牌(臨時)的意思。

當前端向後端發起資料請求的時候,後端需要對前端進行身份驗證,但是我們又不想每次都輸入使用者名稱和密碼,這是就需要乙個標識來證明自己的身份,這個標識就是token。

客戶端使用使用者名稱和密碼請求登入

服務端收到請求,驗證登入是否成功

驗證成功後,服務端會返回乙個token給客戶端,反之,返回身份驗證失敗的資訊

客戶端收到token後把token用一種方式儲存起來,如( cookie / localstorage / sessionstorage / 其他 )

客戶端每次發起請求時都會將token發給服務端

服務端收到請求後,驗證token的合法性,合法就返回客戶端所需資料,反之,返回驗證失敗的資訊

• 隨機性:每次的token都是不一樣的

• 不可**性:沒有規律,無法**

• 時效性: 可以設定token的有效時間

• 無狀態、可擴充套件:由於只是乙個演算法,擴充套件起來非常方便

生成token的解決方案有許多,常用的一種就是 json web tokens(jwt) .

jwt標準的tokens由三部分組成

header:包含token的型別和加密演算法

payload:包含token的內容

signature:通過金鑰將前兩者加密得到最終的token

這三部分中間使用 " . " 分隔開,並且都會使用base64編碼方式編碼,如下

在js檔案中引用jsw模組

var jwt =

require

("jsonwebtoken"

);

將生成token和驗證token進行了封裝。(token一般設定為15分鐘,超時則需要重新登陸)

封裝好的模組

var jwt =

require

('jsonwebtoken');

class

tokenobj

;var secretorprivatekey =

"blogzl.com"

;var token = jwt.

sign

(content, secretorprivatekey,

)return token;

}checktoken

(token, fn)

else})

}}

登陸前端**

使用者名稱:

"text" name=

"username" value=

"張三"

>

密碼:"password" name=

"password" value=

"1234"

>

"button" id=

"login"

>登陸<

/button>

Token的驗證流程以及用法

1 使用者向伺服器傳送使用者名稱和密碼。2 服務端收到請求,去驗證使用者名稱與密碼 3 驗證成功後,服務端會簽發乙個 token,將這個 token 傳送給客戶端。4 客戶端收到 token 以後可以把它儲存起來,放在 cookie 裡或者 local storage 裡 5 使用者隨後的每一次請求...

token 令牌 驗證

其實各個框架的token 令牌驗證原理一樣,分成生成跟驗證兩個步驟,步驟如下。步驟 1 載入jsp頁面的時候非同步獲取token id放到表單的隱藏域,生成token id 的同時也把token id放到session 中。這是生成 2 表單提交的時候在後台驗證表單token id 跟session...

Token驗證詳解

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