什麼是token
token是服務端⽣成的⼀串字串,作為客戶端進⾏請求的⼀個令牌。當⽤戶登入後,伺服器⽣成⼀token的組成個token返回給客戶端,之後客戶端只需帶上這個token來請求資料即可,⽆需每次都輸⼊⽤戶名和
密碼來鑑權。
header
playload
iss (issuer):簽發⼈signature(secret)exp (expiration time):過期時間
sub (subject):主題
aud (audience):受眾
nbf (not before):⽣效時間
iat (issued at):簽發時間
jti (jwt id):編號
//除上⾯資訊外,可⾃定義其他私有字段,⽐如⼀些⽤戶資訊,但要注意敏感的資訊不要存進來
hmacsha256(安裝base64urlencode(header) + 「.」 +
base64urlencode(payload),
secret)
npm install jsonwebtoken -s呼叫
constants.js
module.exports =
const jwt =
require
('jsonwebtoken'
)const
=require
('../utils/constant'
)//儲存值 秘鑰 儲存時間
let token = jwt.
sign(,
private_key
,)
安裝npm install express-jwt -s呼叫
constants.js
module.exports =
const expressjwt =
require
('express-jwt'
)const
=require
('./utils/constant'
)//algorithms表示加密演算法,2020.7.7日jwt更新之後,安裝的express-jwt模組會預設為6.0.0版本
//不寫這條可能導致報錯
use(
expressjwt()
.unless()
);
nodejs基於Token的身份認證
起初的驗證方式是存在於伺服器的,使用者登入進來以後,伺服器判斷成功,將資料存進session裡面,向使用者返回乙個sessionid。這樣的弊端是,假如使用者基數特別大,每登入乙個使用者,就要儲存一條,對伺服器的記憶體壓力比較大。基於token的驗證方法是無狀態的,因此我們就不用把資訊存在伺服器中了...
django中token的簽發
pip install djangorestframework jwt 2.簽發token 匯入jwt from rest framework jwt.serializers import jwt payload handler from rest framework jwt.serializers...
nodejs中的模組
nodejs中的模組管理遵循commonjs規範。使用module.exports 可簡寫為exports 匯出模組,使用require來引入模組。例 mymodule.js var myfunction function name module.exports myfunction 也可也成exp...