gpt4 book ai didi

node.js - 保存并从本地存储中获取 express.js token

转载 作者:搜寻专家 更新时间:2023-10-31 22:16:25 25 4
gpt4 key购买 nike

我将 Node 与 Express.js 一起使用,并尝试使用 JWT 进行身份验证,在用户登录后生成一个 token ,并将其保存到本地存储,但我不知道如何获取 token 进行身份验证。这是我正在使用的代码:

登录 View :

$.ajax({
type: 'POST',
url: base_url + "login",
data: postData,
dataType: 'json',
success: function(data){
// console.log(data1);
// alert(data);
_(data);
if(data.success === false){
showError(data.msg);
}else{
showError(data.msg);
window.localStorage.setItem("authToken", data.token);

var token = window.localStorage.getItem('authToken');
if (token) {
$.ajaxSetup({
headers: {
'x-access-token': token
}
});
}
}
}
});

这是我在访问任何路由之前用来检查的路由身份验证:

router.use(function(req, res, next){
var token = req.headers['x-access-token'];
console.log(token);
if (token) {
// verifies secret and checks exp
jwt.verify(token, app.get('superSecret'), function(err, decoded) {
if (err) {
return res.json({ success: false, message: 'Failed to authenticate token.' });
}else{
// if everything is good, save to request for use in other routes
req.decoded = decoded;
next();
}
});

} else {

// if there is no token
// return an error
return res.status(403).send({
success: false,
message: 'No token provided.'
});
}
});

在 console.log(token) 中我得到一个 undefined variable ,似乎我不知道如何从路由访问 token 。

非常感谢。

最佳答案

“x-access-token”必须注册为允许的 header

response.setHeader("Access-Control-Allow-Headers", "x-access-token, mytoken");

查看这篇文章: How do CORS and Access-Control-Allow-Headers work?

关于node.js - 保存并从本地存储中获取 express.js token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32248524/

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