登入許可權驗證token

2021-09-13 02:01:32 字數 1383 閱讀 8782

原理

後端不在儲存認證資訊,而是在使用者登入的時候生成乙個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...

使用jwt生成token驗證登入狀態

在pom檔案引入jwt相關依賴 com.nimbusds groupid nimbus jose jwt artifactid 6.0 version dependency org.assertj groupid assertj core artifactid dependency 生成token字...