【问题标题】:express unable to save headers after page reload页面重新加载后快递无法保存标题
【发布时间】:2018-07-19 21:06:48
【问题描述】:

我正在使用这种方法在成功登录后设置授权标头

router.post('/attempt', function (req, res, next) {
.....
.....
req.headers.authorization = 'JWT ' + token;
console.trace(req.headers.authorization)

调试后我可以看到它设置正确。所以我试图在同一条路线上调试相同的标头,但在设置它之前

router.post('/attempt', function (req, res, next) {
    console.error(req.headers.authorization)

但它是undefined。怎么会这样?它已设置并在页面重新加载后清除?

【问题讨论】:

  • 授权后没有使用中间件附加标头?
  • 你的意思是passport?但我假设你在谈论我需要的东西。现在我只是在成功登录后调用jwt.sign(user, secret, {expiresIn: 86400 * 30})。并使用res.status(200).send 发送相同的令牌

标签: javascript node.js


【解决方案1】:

如果您想将标头发送到浏览器,请使用res.set(); 之类的

res.set('authorization', 'JWT ' + token);

但如果您想从请求中获取标头,请使用 req.headers 对象,例如

var token =  req.headers.authorization;

【讨论】:

  • 不知道为什么,但它不起作用。 res.set('authorization', 'JWT ' + token); console.trace(req.headers.authorization) 打印 undefined
  • 可以发router.post('/attempt' ..)的完整代码吗?
  • 另外你应该提到客户端(移动应用程序,浏览器的网络应用程序等)
  • 它的网络应用程序(node + express + ejs),这是code
  • 对如何解决此问题有任何见解吗?我仍然找不到解决方案,SO 上的其他人也找不到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 1970-01-01
  • 1970-01-01
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
相关资源
最近更新 更多