在 NodeJS 中设置请求标头

Posted

技术标签:

【中文标题】在 NodeJS 中设置请求标头【英文标题】:Setting a request header in NodeJS 【发布时间】:2020-12-22 15:30:04 【问题描述】:

我对 NodeJS 还是很陌生。最近,我一直在尝试创建一个使用 JWT 进行身份验证的登录页面,但我已经遇到同样的错误一周了。

这是我的逻辑:

    用户注册并通过 JWT 获得访问令牌
const token = jwt.sign(username:this.username, _id: this._id, config.get('private keys));
req.headers.authorization = token;
    登录时,我这样做了;
const token = req.headers.authorization;
if(!token) return res.send("Access denied");
...

但是,每次我尝试登录时,总是得到拒绝访问,我不知道应该是req.headers.authorization还是res.headers["authorization"],或者问题出在注册页面上。

【问题讨论】:

您需要在用户登录时提供 jwt 令牌。您的客户端应在每次请求时将令牌发送到服务器。它不会被浏览器自动携带。在这里查看问题和我的解决方案***.com/questions/63644149/… 不要在 Express 路由处理函数中使用 return;调用res.send(...) 或类似的就足够了。 【参考方案1】: 您能告诉我们您是如何发送 http 请求的吗? 通常,在使用邮递员时,您应该使用默认登录路由获取令牌,然后将该令牌添加到具有“授权”名称和“令牌”值的新标头中。

【讨论】:

我实际上并没有使用邮递员,在邮递员上一切都可以正常工作。似乎在我的应用程序上,令牌不会转移到下一个请求,我需要以某种方式存储令牌,以便它可以存在以供多个请求使用

以上是关于在 NodeJS 中设置请求标头的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript window.location 未在请求标头中设置引用者

无法在 Fetch Get 请求中设置任何标头

在 Angular2 HTTP POST 中设置 JSON 请求标头

如何在http get请求中设置标头?

在groovy post请求中设置标头

如何在 google ads api 中设置请求标头