我正在学习使用Expell和Mongo的NodeJS中的身份验证教程 - 代码实验室#1
我得到了一切完美工作,但本教程没有解决如何注销用户。
据我所知,该会话保存在猫鼬地图集上,这是我正在使用的数据库。当我使用Postman登录用户时,我会获得一个令牌。但我不确定如何配置 /logout 路由。
这是我的代码:
///middleware/auth.js
const jwt = require("jsonwebtoken");
module.exports = function (req, res, next) {
const token = req.header("token");
if (!token) return res.status(401).json({ message: "Auth Error" });
try {
const decoded = jwt.verify(token, "randomString");
req.user = decoded.user;
next();
} catch (e) {
console.error(e);
res.status(500).send({ message: "Invalid Token" });
}
};
///models/User.js
const mongoose = require("mongoose");
const UserSchema = mongoose.Schema({
username: {
type: String,
required: true
},
email: {
type: String,
required: true
},
password: {
type: String,
required: true
},
createdAt: {
type: Date,
default: Date.now()
}
});
// export model user with UserSchema
module.exports = mongoose.model("user", UserSchema);
所以我的问题是,如何实现/logout路由,以便当用户单击注销按钮并调用该路由时,他们的令牌将被销毁。我只是在问后端部分。我可以使用公理来处理。
湖上湖
慕桂英3389331
相关分类