使用 axios 在 headers 中传递 JWT

Passing JWT in headers with axios

我创建了一个带有节点 back-end 的小项目,并响应 front-end 通过 REST 调用获取数据。我使用了 Axios 库,但是当我用它传递 headers 时,我不断收到一条错误消息:

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');

但是当我使用 postman 时,我从后端获取所需的数据。我不断收到此未授权错误的任何特定原因?

您需要在标记前连接 'Bearer ',如下所示:

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