使用包含JWT头的Axios进行REST调用时出现错误401(未经授权)

使用包含JWT头的Axios进行REST调用时出现错误401(未经授权),jwt,axios,cross-domain,Jwt,Axios,Cross Domain,我正在使用JWTPassport开发一个用于身份验证的小型react节点应用程序。我已经通过postman测试了所有端点(通过传递带有授权头的令牌),它们工作正常 这是我从前端打的电话 export const getUsersDetails=()=>{ console.log( localStorage.getItem('jwtToken')); return (dispatch) => { return axios.get('http://localhost:30

我正在使用JWTPassport开发一个用于身份验证的小型react节点应用程序。我已经通过postman测试了所有端点(通过传递带有授权头的令牌),它们工作正常

这是我从前端打的电话

export const getUsersDetails=()=>{
  console.log( localStorage.getItem('jwtToken'));
  return (dispatch) => {
    return axios.get('http://localhost:3030/users',
             { headers: { 'Authorization': localStorage.getItem('jwtToken') } }
            ).then((data)=>{
                 console.log('data comming',data);
                dispatch(getUsersData(data));
            }).catch((error)=>{
              console.log('error comming',error);
                dispatch(errorgetUsersData(error));
            });
        };
}
我已经使用CORS模块启用了CORS。这是网络呼叫在浏览器中的外观

授权标头看起来像
授权:[对象对象],eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9…..

这是否应该像
授权:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9…..

这就是我面对这个问题的原因吗?如何克服这一问题?

当您希望在应用程序中获得授权时,这取决于您如何完成后端。如果在《邮递员》中一切正常,那么展示一下你在《邮递员》中的标题在你尝过之后是什么样子的。我使用xsrf令牌,下面是我的请求头的外观:

    {headers: 
           {"Access-Control-Allow-Headers" : "*",
            "X-XSRF-TOKEN": this.$cookie.get('XSRF-TOKEN')}
    }

也许你应该把“访问控制允许标题”放进去:“*”

当你想在你的应用程序中获得授权时,这取决于你如何完成你的后端。如果在《邮递员》中一切正常,那么展示一下你在《邮递员》中的标题在你尝过之后是什么样子的。我使用xsrf令牌,下面是我的请求头的外观:

    {headers: 
           {"Access-Control-Allow-Headers" : "*",
            "X-XSRF-TOKEN": this.$cookie.get('XSRF-TOKEN')}
    }

也许你应该把“访问控制允许标头”放进去:“*”

通过在react应用程序中全局配置axios,在全局分配的令牌前面添加承载和一个空格,我能够解决MERN堆栈上的类似问题

axios.defaults.headers.common['Authorization']=
Bearer${token}

起初,它没有持有人,我一直得到401状态码

axios.defaults.headers.common['Authorization'] = token;

通过在react应用程序中全局配置axios,通过在全局分配的令牌前面添加承载和一个空格,我能够解决MERN堆栈上的类似问题

axios.defaults.headers.common['Authorization']=
Bearer${token}

起初,它没有持有人,我一直得到401状态码

axios.defaults.headers.common['Authorization'] = token;