後端不在儲存認證資訊,而是在使用者登入的時候生成乙個token,然後返回給前端,前端進行儲存,在需要進行驗證的時候將token一併發送到後端,後端進行驗證
加密的方式:對稱加密和非對稱加密,對稱加密指的是加密解密使用同乙個金鑰,非對稱加密使用公鑰和私鑰,加密用私鑰加密,解密用公鑰解密
主要流程:
使用者登入的時候,生成token,token 中應該包含 payload (資料) cert (金鑰) 確定加密方式
返回給前端 cookie,前端進行儲存
前端在進行資料請求的時候傳送token到後端
後端進行token驗證,而且進行過期時間的驗證
安裝jsonwebtoken npm install jsonwebtoken -s
1.生成秘鑰,並以cookie的方式返回前端
// 對稱 加密
let _payload =
let _cert = 'i love u' // 金鑰
var _token = jwt.sign(_payload, _cert);
res.cookie('token', _token)//傳送cookie
2.再次請求時,後端解密
var decoded = jwt.verify(req.cookies.token, 'i love u');
生成秘鑰
生成私鑰:
ssh-keygen -t rsa -b 2048 -f private.key
生成公鑰
openssl rsa -in private.key -pubout -outform pem -out public.key
1.私鑰加密
// 非對稱加密
let _payload =
// 取出來私鑰
let _private = fs.readfilesync(path.resolve(__dirname, '../keys/private.key'))
var _token = jwt.sign(_payload, _private, );//進行加密
res.cookie('token',_token);//傳送給前端
2.公鑰解密
let _public=fs.readfilesync(path.resolve(__dirname,'../keys/public.key'));//獲取公鑰
var decoded = jwt.verify(req.cookies.token,_public, );//公鑰解密
登入許可權驗證token
原理 後端不在儲存認證資訊,而是在使用者登入的時候生成乙個token,然後返回給前端,前端進行儲存,在需要進行驗證的時候將token一併發送到後端,後端進行驗證加密的方式 對稱加密和非對稱加密,對稱加密指的是加密解密使用同乙個金鑰,非對稱加密使用公鑰和私鑰,加密用私鑰加密,解密用公鑰解密 使用者登入...
前端請求介面 token登入驗證
在登入元件登入函式 methods then res catch data 一般情況,在main.js中做請求攔截處理 通過環境設定相應請求路徑 if process.env.node env development else if process.env.node env debug else i...
token 令牌 驗證
其實各個框架的token 令牌驗證原理一樣,分成生成跟驗證兩個步驟,步驟如下。步驟 1 載入jsp頁面的時候非同步獲取token id放到表單的隱藏域,生成token id 的同時也把token id放到session 中。這是生成 2 表單提交的時候在後台驗證表單token id 跟session...