首页 > 解决方案 > 如何从nodejs接收reactjs上的cookie

问题描述

我正在尝试创建一个登录名,其中登录数据被发送到nodejs服务器,如果登录数据正确,服务器将通过“res.cookie”发送一个JWT令牌,我想知道reactjs客户端将如何接收此 cookie 并清除此 cookie。

  app.post('/login', (req, res) => {
        const userData = {
          email: req.body.email,
          password: req.body.password
        }
        if(userData.email === email && userData.password === password){
          const payload = { email };
              const token = jwt.sign(payload, secret, {
                expiresIn: '1h'
              });
              console.log(token)
              res.cookie('token', token, { httpOnly: true })
                .sendStatus(200);
        }else{
          res.send('incorrect params')
        }
        console.log(userData) 
  })

标签: node.jsreactjsexpress

解决方案


以下是需要执行的步骤。

  1. 用户输入他们的用户名和密码并点击登录
  2. 服务器接收凭据并验证它们。
  3. 然后服务器为用户会话创建一个 JWT,服务器创建一个包含 jwt 值的 cookie
  4. 服务器只是返回,只要 cookie 是响应对象的一部分,它就会被传递。
  5. 点击 control/command + i 并在开发工具的应用程序选项卡下查看 chrome 中的 cookie。

此外,您可能想使用 nodejs https://www.npmjs.com/package/cookie-parser包来让您的生活更轻松。


推荐阅读