vuvivian's blog

越努力,越幸运.

vue/vue实战/vue cli3.0+element+mangoDB/(八)新建登陆接口

vuvivian's Avatar 2020-04-06

  1. 1. 逻辑处理
  2. 2. 校验密码方法
  3. 3. 登陆需要返回token
  4. 4. 使用

逻辑处理

查询email是否存在, 如果存在校验密码, 不存在的话return提示信息
登陆成功之后返回token

校验密码方法

bcrypt.compare()

登陆需要返回token

npm install jsonwebtoken
const jwt = require('jsonwebtoken');
jwt.sign("规则","加密名字","过期事件","箭头函数")

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
router.post('/login', (req, res) => {
const {email, password} = req.body;
// 查询email是否存在, 如果存在校验密码, 不存在的话return
User.findOne({email})
.then(user => {
if(!user) {
return res.status(401).json({email: "该用户不存在"})
} else{
bcrypt.compare(password, user.password)
.then(isMatch => {
if (isMatch) {
// jwt.sign("规则","加密名字","过期时间","箭头函数")
const rule = {id: user.id, name:user.name};
jwt.sign(rule,"secret",{expiresIn: 3600},(err, token) =>{
if (err) throw err;
return res.json({
success: true,
token: "vuvivian" + token
})
})
} else {
return res.status(400).json({password: "密码错误"})
}
})
}
})
});
本文最后更新于 天前,文中所描述的信息可能已发生改变