当我使用 Fetch(在 ios 中)从带有 Django 后端的 react native 应用程序发出请求时,没有收到 header 授权 token ,但其他 header 是。
我尝试使用 nc -l 8090 来检查应用程序是否正确发送了 header 并且它在那里。此外,这只是发生在 ios 版本中,android 版本就可以了。
在检查 Django 后端时,没有收到授权 token (我打印了我在 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) => {...}
我在响应中得到的错误消息是“403 django standard not valid authentication”。
我没有使用 OAuth2。任何其他可以提供的信息,请告诉我并感谢您的帮助。
我刚刚注意到的一件奇怪的事情是,当我在端口 8000 上使用 nc cmd (lc -l 8000) 时,它具有相同的行为。未收到授权 token 。
最佳答案
我解决了我的问题,在 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) => {...}
关于ios - Django服务器没有从ios接收到授权 token - React native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47440970/