TypeError:无法读取未定义的属性“标题”

Posted

技术标签:

【中文标题】TypeError:无法读取未定义的属性“标题”【英文标题】:TypeError: Cannot read property 'headers' of undefined 【发布时间】:2020-07-06 18:00:00 【问题描述】:

我正在开发一个使用 JWT 授权的简单 API,并尝试制作一个验证中间件。 显然,我在导出中间件函数时出错:

TypeError: Cannot read property 'headers' of undefined

中间件/auth.js:

const jwt = require('jsonwebtoken');

module.exports = (req, res, next) => 
  const token = req.headers['authorization'];
  console.log('Authorization token => ', token);
  if (!token) 
    res.status(403).json( message: 'Forbidden' );
   else 
    const verified = jwt.verify(token, process.env.SECRET_KEY);
    req.verified = verified;
    next();
  
;

路由/user.js:

const authMiddleware = require('../middlewares/auth');

router.use(authMiddleware());

【问题讨论】:

这将解决您的问题app.use(authMiddleware()) 【参考方案1】:

req.query['authorization']代替req.headers['authorization']

【讨论】:

以上是关于TypeError:无法读取未定义的属性“标题”的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法读取未定义的属性“getters”

(节点:47028)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“表情符号”

NextJS:TypeError:无法读取未定义的属性“json”

TypeError:无法使用 TSLint 和 TypeScript 读取未定义的属性“getFullWidth”

[karma-server]:TypeError:无法读取未定义的属性“范围”-CI 环境中的 Angular 单元测试

TypeError:无法读取未定义的属性(读取“名称”)