Django服务器未从React Native收到授权令牌



当我使用带有Django后端的React本机应用程序提取(iOS)请求时,未收到标题授权令牌,但其他标题是。

我尝试使用NC -L 8090只是要查看该应用程序是否正确发送了标题,并且它在那里。另外,这只是在iOS版本中发生的,Android One效果很好。

在检查Django后端时,未收到授权令牌(我在authentication.py文件中打印了我的内容)

我在此处放置了获取代码:

let response = fetch('http://xxx.xxx.x.xxx:8000/' + 'users', {
      method: 'GET',
      headers: {
        'content-type': 'application/json',
        'x-app-key': xxxxxxxxxx,
        'Authorization': 'Token xxxxxxxxxxxxxxxxxxxx' 
      }
    }).then((response) => {...}

IM在响应中收到的错误消息是" 403 Django Standar无效身份验证"。

我不使用oauth2。任何可能提供的信息,请告诉我,并感谢您的任何帮助。

我刚刚注意到的奇怪的是,当我在端口8000处使用NC CMD(LC -L 8000)时,它具有相同的行为。未收到授权令牌。

我解决了我的问题,在URL的末端增加了斜线。

let response = fetch('http://xxx.xxx.x.xxx:8000/' + 'users/', {
      method: 'GET',
      headers: {
        'content-type': 'application/json',
        'x-app-key': xxxxxxxxxx,
        'Authorization': 'Token xxxxxxxxxxxxxxxxxxxx' 
      }
    }).then((response) => {...}

我使用Laravel框架有一个后端的变体。我终于通过在公共文件夹的.htaccess文件中使用以下内容解决了它。

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

在我的情况下,结合了另一个重要因素,从fetch中的URL中失去了尾随的斜线。

希望这会有所帮助。祝你好运。

相关内容

  • 没有找到相关文章

最新更新