我正在使用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进行测试。
答案 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
}
希望我能帮到你。