nodeJs中的api重定向?

时间:2017-11-25 18:18:46

标签: javascript node.js api express

我正在使用passport,jwt在节点js中进行模拟身份验证。我已经成功创建了api。我正在使用把手进行模板化。

假设当用户将凭证发布到登录(发布)时,api应验证用户并返回json内容。我坚持在重定向后如何重定向到另一个页面。我不想在我的api中使用它。

我的代码是:

app.post('/login', (req, res, next) => {

        if (req.body.name == '' || req.body.password == '') {
              res.status(401).send('Please fill all fields')
        } else {
            let name = req.body.name;
            // let password = req.body.password;
            // usually this would be a database call:
            let user = users[_.findIndex(users, {
                name: name
            })];
            if (user === undefined) {
                  res.status(401).send('User not defined')

            } else {
                if (user.password === req.body.password) {
                    let payload = {
                        id: user.id
                    };
                    let token = jwt.sign(payload, config.jwtSecret);
                        res.json({message: "ok", token: token});

                } else {
                      res.status(401).send('Password did not match')

                }
            }
        }
    });

我怀疑这是来自这个api如果用户通过身份验证,我如何重定向到下一页。我无法更改此api中的代码,因为我也使用此api进行测试。

1 个答案:

答案 0 :(得分:0)

我仍然是Node.js的新手,但我相信你可以使用重定向

res.redirect("/pageyouwant");

也许在用户获得身份验证的括号中,您可以使用我上面编写的代码。

顺便说一下,也许在那个地方试试我的代码

if (user.password === req.body.password) {
      let payload = {
            id: user.id
      };
      let token = jwt.sign(payload, config.jwtSecret);
      res.json({message: "ok", token: token});

      res.redirect("/pageyouwant"); // <-- This one right here
 }

希望我能帮到你。