gpt4 book ai didi

mysql - 错误: Can't set headers after they are sent.(jwt身份验证)

转载 作者:行者123 更新时间:2023-11-29 16:14:40 27 4
gpt4 key购买 nike

我是新的nodejs。发送 jwt 后我无法重定向到 protected 页面。这里我想做的是从数据库获取用户详细信息后,我正在创建一个 jwt.但之后我想重定向到 protected 页面。

app.post('/Signin', function (req, res){
var post = req.body;
var sql = "SELECT id,name FROM `users` WHERE `name`='"+post.uname+"'and`password`='"+post.pass+"'";
con.query(sql,function(err,result,col){
if(result.length)
{
var re = JSON.parse(JSON.stringify(result[0]));
var token = jwt.sign(re,'ssshhh',{expiresIn : 1440});
res.json({
error: false,
message: 'Validation successful!',
token: token
});
console.log("Successful login");
res.redirect("Protected");
}
else
{
console.log("Wrong Details");
res.redirect("Signin");
}
});
});

最佳答案

重定向发送 GET 请求。这是由浏览器控制的。浏览器不会自动将 Authorization: Bear token header 添加到请求中(导致页面失败)。

通常,对于重定向,您需要将安全详细信息加载到 cookie 中(例如,将 JWT token 放入 cookie 中并从 cookie 中提取 protected 页面)

关于mysql - 错误: Can't set headers after they are sent.(jwt身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54939555/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com