Vue和Node.js交互之token
2021-05-29 21:01
标签:安装 OLE pos version 后端 lang require secret 读取文件 博主最近工作的时候,公司后台使用的JAVA,在做登陆时总会传来一个token然后我存在了本地存储中或Vuex中,之后每一次请求把它带在请求头上,然后就好奇想要自己做一个后台服务器然后做一个完整的登陆的逻辑。 对于一个前端开发人员,当然会选择更容易上手的Node.js的express搭建 Vue和Node.js交互之token 标签:安装 OLE pos version 后端 lang require secret 读取文件 原文地址:https://www.cnblogs.com/SardineCan/p/14700339.html后台的搭建
遇到的问题
node --version
查看Node是否已经安装好
npm install express --save
下载
var express = require(‘express‘)
)var app = express()
) app.listen(3000, () => {
console.log(‘http://localhost:3000‘)
})
app.get(‘/login‘, (req, res) => {})
形参列表中的req是请求对象,res是响应对象,req具有一些属性来保存请求中的一些数据,而res是当一个HTTP请求到来时,Express程序返回的HTTP响应
/json/login.json
) {
"count":3,
"userArray": [{"name":"qiqi","pwd":123456}]
}
const fs = require(‘fs‘)
) fs.readFile(‘./json/test.json‘, ‘utf8‘, (err, data) => {
if (err) {
console.error(err)
return
}
console.log(data)
})
res.end(data)
替换 console.log(data)
使得访问该接口有响应数据。
app.all("*", function (req, res, next) {
//设置允许跨域的域名,*代表允许任意域名跨域
res.header("Access-Control-Allow-Origin", "*");
//允许的header类型
res.header("Access-Control-Allow-Headers", "content-type");
//跨域允许的请求方式
res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
if (req.method.toLowerCase() == ‘options‘) {
res.send(200); //让options尝试请求快速结束
} else {
next();
}
})
npm install jsonwebtoken
)const jwt = require(‘token
) // 生成token
const generateToken = (data) => {
const secret = ‘这是一段秘钥,用于验证token时使用‘
const token = jsonwebtoken.sign(
data,
secret, {
expiresIn: 60 * 60 * 24 * 3
})
if (token) {
return token;
} else {
return ‘err‘
}
}
// 验证token
const verifyToken = (data) => {
let result = {}
if (data) {
const secret = ‘这是一段秘钥,用于验证token时使用‘
jsonwebtoken.verify(data, secret, (err, decoded) => {
if (err) {
result = str;
} else {
result = decoded
}
})
return result
} else {
return ‘error‘
}
}
config > index.js > proxyTable
proxyTable: {
‘/api‘: {
// 需要代理的url
target: ‘http://127.0.0.1:3000‘,
changeOrigin: true,
pathRewrite: {
‘^/api‘: ‘/‘
}
}
记得config文件夹中的文件修改需要重启项目
未完待续···
上一篇:JSX语法规则
文章标题:Vue和Node.js交互之token
文章链接:http://soscw.com/index.php/essay/89258.html