詳情參考官方文件 jsonwebtoken
相關方法的封裝
const jwt =
require
("jsonwebtoken"
)const secret =
"kjafhkjsal"
;let
createtoken
=(data,expiresin)
=>
; obj.data = data ||
;//存入token的資料
obj.ctime =
(new
date()
).gettime()
;//token的建立時間
obj.expiresin =
1000*60
*60*24
*7//設定的過期時間
let token = jwt.
sign
(obj,secret)
return token;
}let
varifytoken
=(token)
=>
= jwt.
verify
(token,secret)
;let nowtime =
(new
date()
).gettime()
;if(nowtime-ctime}catch
(error)
return result;
}module.exports =
;
自定義中介軟體
const
=require
('../utils/jwt'
)const
=require
('../controls/usercontrol'
)//驗證token的方法
lettokenmiddlware
=(req,res,next)
=>
= req.body
//驗證使用者有沒有傳tokenif(
!token))}
//獲取驗證token的狀態
let tokenstate =
verifytoken
(token)
console.
log(tokenstate)
if(tokenstate)).
catch
((err)
=>)}
)}else)}
}module.exports = tokenmiddlware
在需要進行token驗證的路由上使用中介軟體即可
use(
"/food"
,tokenmiddleware,foodrouter)
;
Json Web Token身份認證
使用者身份認證一般有5種方式 因為前後端分離的緣故,現在的後台多數只提供資料部分,一般使用json格式,所以json web token是比較流行的認證方式。jwt的認證方式相比其他的認證方式有一下優點 jwt包含3個部分 header 123 4 jwt的頭部是固定的,alg是演算法的意思表示該j...
Json Web Token身份認證
使用者身份認證一般有5種方式 因為前後端分離的緣故,現在的後台多數只提供資料部分,一般使用json格式,所以json web token是比較流行的認證方式。jwt的認證方式相比其他的認證方式有一下優點 jwt包含3個部分 header 123 4 jwt的頭部是固定的,alg是演算法的意思表示該j...
JSON Web Token入門學習
學習記錄 看了這篇帖子,有時間再來整理 阮一峰的網路日誌 實際上的jwt內容類似下圖 它是乙個很長的字串,中間用點 分隔成三個部分。注意,jwt 內部是沒有換行的,這裡只是為了便於展示,將它寫成了幾行。寫成一行,應該如下 header.payload.signature 客戶端收到伺服器返回的 jw...