错误:发送后无法设置标头。(jwt身份验证)

时间:2019-03-01 07:04:13

标签: mysql node.js jwt

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

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");
		}
	});
});

1 个答案:

答案 0 :(得分:0)

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

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