Flutter 如何在Flatter中的请求中发送令牌?
我正在制作一个flutter应用程序,我已经用django编写了一个服务器。当我向服务器发送令牌进行身份验证时,服务器会向我发送一个未定义令牌的错误。没有令牌,所有请求都可以正常工作,但当我添加令牌时,它会给我一个错误Flutter 如何在Flatter中的请求中发送令牌?,flutter,dart,Flutter,Dart,我正在制作一个flutter应用程序,我已经用django编写了一个服务器。当我向服务器发送令牌进行身份验证时,服务器会向我发送一个未定义令牌的错误。没有令牌,所有请求都可以正常工作,但当我添加令牌时,它会给我一个错误 {detail: Authentication credentials were not provided.} 但当我在modheader中添加令牌时,我的服务器工作正常 Authorization: Token bff0e7675d6d80bd692f1be811da63e4
{detail: Authentication credentials were not provided.}
但当我在modheader中添加令牌时,我的服务器工作正常
Authorization: Token bff0e7675d6d80bd692f1be811da63e4182e4a5f
这是我的颤振代码
const url = 'MY_API_URL';
var authorization = 'Token bff0e7675d6d80bd692f1be811da63e4182e4a5f';
final response = await http.get(
url,
headers: {
'Content-Type': 'application/json',
'Authorization': authorization,
}
);
final responseData = json.decode(response.body);
print('responseData');
print(responseData);
因为我不知道如何处理你的API,所以我不能告诉你确切的答案 检查一下,您的后端是通过头、体还是通过 我建议您首先使用诸如postman之类的工具进行授权 如果成功了,那么尝试在你的应用程序中实现它 试试这个:
Map<String, String> headers = {
HttpHeaders.contentTypeHeader: 'application/json',
HttpHeaders.acceptHeader: 'application/json',
HttpHeaders.authorizationHeader: 'Token bff0e7675d6d80bd692f1be811da63e4182e4a5f'
};
正如我之前所说,我正在使用django。我使用django自己的身份验证功能来验证我的请求。从django.contrib.auth导入authenticate,我已经阅读了django文档,但没有得到有意义的答案。我已经检查了django身份验证函数,它接受这种格式(“授权”:“令牌4914188f58d7a42183f648a06b1c469fc51b571”),因为我正在发送http颤振请求。那么问题出在哪里呢?如果你能处理功能强大的dio包,请尝试这个答案同样的错误,检查服务器的响应({detail:Authentication credentials not provided.})这个载体是什么类型的令牌。其他类似于authorization/etc的东西,例如
HttpHeaders.somethingelse
嘿,在我的情况下,这是绝对正常的,你能告诉我如何发送一个更新访问令牌的请求,实际上访问令牌将在一小时后重置,所以在这种情况下,我想以编程方式更新访问令牌。
final response = await http.get(
url,
headers: headers,
);