国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

express + jwt + postMan驗證實現持久化登錄

2024-05-06 16:51:50
字體:
來源:轉載
供稿:網友

原理

第一次登陸時會返回一個經過加密的token,下一次訪問接口(攜帶登錄返回你的token)的時候,會對token進行解密,如果解密正在進行,說明你已經登錄,再把過期時間延長

下載

npm init -y // 一鍵初始化npm install express -s // 下載expressnpm install cors // 跨域中間件npm install body-parser // body-parser中間件 解析帶請求體的數據(post,put)npm install jsonwebtoken // 持久化登錄 jwt json web token

基本配置

// 引入expresslet express = require('express')let cors = require('cors')let bodyParser = require('body-parser')let jwt = require("jsonwebtoken")let banner = require("./banner")// 拿到服務器let app = express()app.use(cors())app.use(bodyParser.json())app.use(bodyParser.urlencoded({extended:false}))// listen 后面跟著的是端口app.listen(8000,function(){ console.log('OK')})

模擬一個登陸的接口

app.post('/login',function(req,res){ let {username} = req.body console.log(username) res.json({  // 進行加密的方法  // sing 參數一:加密的對象 參數二:加密的規則 參數三:對象  token:jwt.sign({username:username},'abcd',{   // 過期時間   expiresIn:"1h"  }),  username,  code:200 })})

postMan模擬 發送POST請求

express,jwt,postMan,持久化登錄

接收到數據

express,jwt,postMan,持久化登錄

得到token

express,jwt,postMan,持久化登錄

登錄持久化驗證

把 token 寫入header

express,jwt,postMan,持久化登錄

// 登錄持久化驗證接口 訪問這個接口的時候 一定要訪問token(前端頁面每切換一次,就訪問一下這個接口,問一下我有沒有登錄/登陸過期)// 先訪問登錄接口,得到token,在訪問這個,看是否成功app.post('/validate',function(req,res){ // 訪問 token let token = req.headers.authorization; // console.log(token) // 驗證token合法性 對token進行解碼,解碼方式要和加密方式一樣 jwt.verify(token,'abcd',function(err,decode){  if(err){   res.json({    msg:'當前用戶未登錄'   })  }else {   // 證明用戶已經登錄   res.json({    username:decode.username,    msg:'已登錄'   })   token:jwt.sign({username:decode.username},'abcd',{    // 過期時間    expiresIn:"1h"   })  } })})

已有登錄賬號,持久化登錄成功

express,jwt,postMan,持久化登錄

設置登錄過期時間

token:jwt.sign({username:decode.username},'abcd',{ // 如果過期時間為1秒 expiresIn:"1s"})

獲得 token

express,jwt,postMan,持久化登錄

設置頭部信息

express,jwt,postMan,持久化登錄

驗證 過期時間生效

express,jwt,postMan,持久化登錄

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉善县| 杂多县| 卢龙县| 阿图什市| 玛沁县| 西贡区| 额济纳旗| 抚宁县| 罗源县| 禹城市| 社旗县| 澄城县| 西乡县| 定安县| 明溪县| 临潭县| 钦州市| 德清县| 西林县| 城固县| 肥乡县| 民县| 泸州市| 苏尼特左旗| 丹棱县| 炎陵县| 尖扎县| 琼中| 平阴县| 横峰县| 武鸣县| 襄樊市| 邯郸市| 扎囊县| 宜阳县| 易门县| 娄烦县| 婺源县| 阿拉善右旗| 婺源县| 东丰县|