Node.js ExpressJS jwt身份验证保存在数据库中
我对我现有的代码有一个问题。 假设我想通过jwt进行身份验证,如何处理令牌? 是否将它们保存在数据库或环境中? 我看到了一些示例,其中它们保存在大约。 我可以在当前代码上实现这个吗Node.js ExpressJS jwt身份验证保存在数据库中,node.js,mongodb,express,jwt,Node.js,Mongodb,Express,Jwt,我对我现有的代码有一个问题。 假设我想通过jwt进行身份验证,如何处理令牌? 是否将它们保存在数据库或环境中? 我看到了一些示例,其中它们保存在大约。 我可以在当前代码上实现这个吗 Controller: const login = async (req, res) => { const { error } = loginValidation(req.body); if (error) return res.status(400).json({ error: error.det
Controller:
const login = async (req, res) => {
const { error } = loginValidation(req.body);
if (error) return res.status(400).json({ error: error.details[0].message });
const user = await User.findOne({ email: req.body.email });
// throw error when email is wrong
if (!user) return res.status(400).json({ error: "Email is wrong" });
const validPassword = await bcrypt.compare(req.body.password, user.password);
if (!validPassword)
return res.status(400).json({ error: "Password is wrong" });
res.json({
error: null,
data: {
message: "Login successful",
},
});
};
Routes
router.post("/login", AuthController.login);
作为一个数据库,我使用mongodb。我可以用jwt吗?
如果是的话,我如何进行?
我安装了jwt库jwt是为了授权而不是身份验证。通常,一个秘密存储在.env文件中,该文件用于对令牌进行签名。用户信息存储在令牌本身中。