Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在Flatter中的请求中发送令牌?_Flutter_Dart - Fatal编程技术网

Flutter 如何在Flatter中的请求中发送令牌?

Flutter 如何在Flatter中的请求中发送令牌?,flutter,dart,Flutter,Dart,我正在制作一个flutter应用程序,我已经用django编写了一个服务器。当我向服务器发送令牌进行身份验证时,服务器会向我发送一个未定义令牌的错误。没有令牌,所有请求都可以正常工作,但当我添加令牌时,它会给我一个错误 {detail: Authentication credentials were not provided.} 但当我在modheader中添加令牌时,我的服务器工作正常 Authorization: Token bff0e7675d6d80bd692f1be811da63e4

我正在制作一个flutter应用程序,我已经用django编写了一个服务器。当我向服务器发送令牌进行身份验证时,服务器会向我发送一个未定义令牌的错误。没有令牌,所有请求都可以正常工作,但当我添加令牌时,它会给我一个错误

{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,
    );