为了账号安全,请及时绑定邮箱和手机立即绑定

类型错误:无法读取属性'授权' 使用 express-jwt 的 undefined

类型错误:无法读取属性'授权' 使用 express-jwt 的 undefined

千巷猫影 2021-08-20 19:07:22
我正在尝试为我正在使用的路由添加身份验证express-jwt我添加了这个中间件来保护创建后的路由。但是在测试时,我在邮递员中遇到了错误。错误TypeError: Cannot read property &#39;authorization&#39; of undefined<br> &nbsp; &nbsp;at Object.getTokenFromHeaders [as getToken]这些是我的 express jwt 代码认证.jsimport  jwt from 'express-jwt';const getTokenFromHeaders = (req) => {    const { headers: { authorization } } = req;    console.log(authorization);     <----- in this log i am getting token    if(authorization && authorization.split(' ')[0] === 'Token') {        return authorization.split(' ')[1];    }    return null;};const auth = {    required: jwt({        secret: 'secret',        userProperty: 'payload',        getToken: getTokenFromHeaders,    }),    optional: jwt({        secret: 'secret',        userProperty: 'payload',        getToken: getTokenFromHeaders,        credentialsRequired: false,    }),};module.exports = auth;路由.jsroutes.post('/post', auth.required, postController.post);
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

你在这一行有一个错误:

const { headers: { authorization } } = req.body;

因为headersprop 是在reqobject 上,而不是 on req.body,所以它应该是这样的:

const { headers: { authorization } } = req;


查看完整回答
反对 回复 2021-08-20
?
SMILET

TA贡献1796条经验 获得超4个赞

使用const authorization = req.headers.authorization它应该可以解决问题


查看完整回答
反对 回复 2021-08-20
  • 2 回答
  • 0 关注
  • 328 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信