Node.js ExpressJS 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

我对我现有的代码有一个问题。 假设我想通过jwt进行身份验证,如何处理令牌? 是否将它们保存在数据库或环境中? 我看到了一些示例,其中它们保存在大约。 我可以在当前代码上实现这个吗

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文件中,该文件用于对令牌进行签名。用户信息存储在令牌本身中。