Go Api返回未经授权

时间:2020-05-19 17:16:47

标签: reactjs go

我是GoLang + React的新学习者。这样我就开始了一个学习项目。我用GoLang制作了RESTful Api。 api Link。我用该api制作了登录系统。成功地,我可以登录并将用户数据设置为sessionStorage。但是问题是当我尝试通过使用axios击api的注销端点来注销用户时。第一次显示未经授权。第二次显示网络错误。

这是请求代码:

logout = () => {
    const user = JSON.parse(sessionStorage.getItem('userData'));
    const token = user.token;
    const uid = user.id;
    const url = "http://localhost:8000/logout"
    axios.post(url,{"user_id":uid},{"Authorization":`Bearer ${token}`}).then((response) => response.json()).then((result) => {
        let responseJson = result;
        console.log(responseJson);
    }).catch((error) => {
        console.log(error);
    })
}

注意:通过客户端应用程序,我可以成功注销。但是,通过axios我不能。

2 个答案:

答案 0 :(得分:1)

您需要在Axios config对象的headers属性下提供 auth标头

axios.post(
  url,
  { user_id: uid },
  { headers: { 'Authorization': `Bearer ${token}` } }
)

说明:

这是axios发布方法签名,请选中docs

axios.post(url[, data[, config]])

第三个参数config应该具有以下接口:

{
  ...
  baseURL?: string;
  headers?: any; // this is for headers
  params?: any;
  ....
}

答案 1 :(得分:1)

我通过将此代码添加到package.json文件中解决了该问题

"proxy":"http://localhost:your_port"

相关问题