首页 > 解决方案 > 当我发出 POST 请求时,我收到“没有提供凭据的响应”

问题描述

我有一个在 Linode 上运行的 django 服务器,我正在尝试发出 POST 请求,但我得到的只是detail:"Authentication credentials were not provided."

我已经进行了研究,每当我在生产中使用服务器(端口 80)时,它就无法工作,只要我./manage.py runserver 0.0.0.0:8000让它工作,当我将我的 fetch 指向那个 URL 时。

fetch(URL,
  method ='POST',
  headers = {
    'Authorization': `Token ${this.props.token}` ,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body= JSON.stringify( {
    user: 10,
        voltage_coil_1: 1,
        voltage_coil_2: 1,
        voltage_generated_by_user: 1,
        activity:1,
        datetime:null
})
)
  .then(res => res.json())
  .then(console.log)

我的预期结果是一个肯定的答案,但是每当我在生产中时,我都会不断收到此错误。

服务器响应

标签: djangoreact-nativedjango-rest-frameworkfetch

解决方案


如果您在生产模式下使用 Apache 作为 Web 服务器,则应将 WSGIPassAuthorization 设置为“开”。

看看这个链接,

Django Rest Framework {"detail":"未提供身份验证凭据。"}


推荐阅读