gpt4 book ai didi

javascript - 使用 Vue.JS 和 Node.JS 时未定义 Axios 授权 header

转载 作者:行者123 更新时间:2023-12-03 01:35:37 25 4
gpt4 key购买 nike

我在为 axios 实例设置授权 header 时遇到问题。

这是我在 http://localhost:8080 上运行的 Vue.JS 应用程序中的代码:

axios.defaults.headers.common['Authorization'] = 'Bearer ' + token

axios.get(`/users/email/${myemail}`).then(response => {
var user = response.data.result[0]
...
});

这是在 http://localhost:3000 上运行的 Node.JS 服务器代码示例:

// Add headers
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');

res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

res.setHeader('Access-Control-Allow-Headers', 'Content-type, Accept, X-Access-Token, X-Key, Authorization');

res.setHeader('Access-Control-Allow-Credentials', true);

next();
});

并且:

app.use((req, res, next) => {
var token = req.headers['authorization'];
if (token) {
jwt.verify(token, "mysecret", (err, decod) => {
if (err) {
res.status(403).send({message: "Access forbidden, wrong token."});
} else {
req.decoded = decod;
next();
}
});
} else {
res.status(403).send({message: "Access forbidden, no token provided."});
}
});

req.headers['authorization'] 始终未定义...但是当我通过 Postman 执行 get 请求时,Authorization header 已正确设置,并且我可以在 Node.JS 服务器上获取 token 。

我不明白我的错误在哪里......非常感谢您的帮助!

最佳答案

您的 axios header key 是“Authorization”,但在 Node 中您会获得“authorization”。

JavaScript 对象键区分大小写:D

关于javascript - 使用 Vue.JS 和 Node.JS 时未定义 Axios 授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51085383/

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