使用axios在标头中传递JWT

时间:2017-05-26 17:32:19

标签: http-headers axios

我创建了一个带有节点后端的小项目,并通过使用 Axios 库的REST调用来反馈前端来获取数据。但是,当我用它传递标题时,我一直收到错误说 Failed to load resource: the server responded with a status of 401 (Unauthorized) 。我发现了两种方法,但都没有用。

他们是

export const getUsersDetails=()=>{
  console.log('calling');
  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));
            });
        };
}

axios.defaults.headers.common['Authorization'] = localStorage.getItem('jwtToken');

但是当我使用邮递员时,我从后端获取所需的数据。我一直收到这个未经授权的错误的任何特殊原因?。

1 个答案:

答案 0 :(得分:38)

您需要在令牌之前连接'Bearer',如下所示:

axios.defaults.headers.common['Authorization'] = 
                                'Bearer ' + localStorage.getItem('jwtToken');