摘要:原理后端不在存儲認證信息,而是在用戶登錄的時候生成一個,然后返回給前端,前端進行存儲,在需要進行驗證的時候將一并發送到后端,后端進行驗證加密的方式對稱加密和非對稱加密,對稱加密指的是加密解密使用同一個密鑰,非對稱加密使用公鑰和私鑰,加密用私
原理
后端不在存儲認證信息,而是在用戶登錄的時候生成一個token,然后返回給前端,前端進行存儲,在需要進行驗證的時候將token一并發送到后端,后端進行驗證
加密的方式:對稱加密和非對稱加密,對稱加密指的是加密解密使用同一個密鑰,非對稱加密使用公鑰和私鑰,加密用私鑰加密,解密用公鑰解密
主要流程:用戶登錄的時候,生成token,token 中應該包含 payload (數據) cert (密鑰) 確定加密方式
返回給前端 cookie,前端進行存儲
前端在進行數據請求的時候發送token到后端
后端進行token驗證,而且進行過期時間的驗證
安裝安裝jsonwebtoken? npm install?jsonwebtoken -S
1.公鑰加密 公鑰解密1.生成秘鑰,并以cookie的方式返回前端
// 對稱 加密 let _payload = { // 鑰加密的數據 userid: _judge_result[0]._id, username: _judge_result[0].username, level: 8, } 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");2.公鑰加密 公鑰解密
生成秘鑰
生成私鑰:
ssh-keygen -t rsa -b 2048 -f private.key
生成公鑰
openssl rsa -in private.key -pubout -outform PEM -out public.key
1.私鑰加密
// 非對稱加密 let _payload = { // 鑰加密的數據 userid: _judge_result[0]._id, username: _judge_result[0].username, level: 8, } // 取出來私鑰 let _private = fs.readFileSync(PATH.resolve(__dirname, "../keys/private.key")) var _token = jwt.sign(_payload, _private, { algorithm: "RS256"});//進行加密 res.cookie("token",_token);//發送給前端
2.公鑰解密
let _public=fs.readFileSync(PATH.resolve(__dirname,"../keys/public.key"));//獲取公鑰 var decoded = jwt.verify(req.cookies.token,_public, {algorithm: "RS256"});//公鑰解密
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100052.html
摘要:我們將登錄按鈕上綁上事件,點擊登錄之后向服務端提交賬號和密碼進行驗證。所以前端和后端權限的劃分是不太一致。側邊欄最后一個涉及到權限的地方就是側邊欄,不過在前 完整項目地址:vue-element-admin 系列文章: 手摸手,帶你用vue擼后臺 系列一(基礎篇) 手摸手,帶你用vue擼后臺 系列二(登錄權限篇) 手摸手,帶你用vue擼后臺 系列三 (實戰篇) 手摸手,帶你用vu...
摘要:項目地址本文將分四部分介紹登錄邏輯前置過濾器校驗邏輯工具類演示驗證一登錄邏輯登錄成功后,將生成的存儲在中。鍵是用戶值是二前置過濾器繼承自,必須實現的四個方法。 這兩天在寫項目的全局權限校驗,用 Zuul 作為服務網關,在 Zuul 的前置過濾器里做的校驗。 權限校驗或者身份驗證就不得不提 Token,目前 Token 的驗證方式有很多種,有生成 Token 后將 Token 存儲在 R...
閱讀 2908·2021-11-23 09:51
閱讀 1554·2021-11-15 11:36
閱讀 3013·2021-10-13 09:40
閱讀 1898·2021-09-28 09:35
閱讀 13077·2021-09-22 15:00
閱讀 1374·2019-08-29 13:56
閱讀 2929·2019-08-29 13:04
閱讀 2702·2019-08-28 18:06