Flutter Web:如何发送不记名令牌?

Flutter Web : How to send bearer token?

我有一个 ASP.Net Core web api 接受不记名令牌 (jwt),我使用 Android 模拟器在我的 Flutter 中发送这个令牌,此代码没有任何问题:

final response = await get(url, headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'Authorization': 'Bearer $token',
    });

但是当我在 Chrome 浏览器中 运行 时,api 响应是:405 Method Not Allowed 。

有什么问题吗?

更新 :

根据@anirudh 的评论,我在我的网站中启用了 CROS Api,问题已经改变。现在响应是:204 No Content

String token = await Candidate().getToken();
final response = await http.get(url, headers: {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer $token',
});
print('Token : ${token}');
print(response);

使用http plugin

并且做 http.get 而不仅仅是 get

import 'package:http/http.dart' as http;

final response = await http.get(url, headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'Authorization': 'Bearer $token',
    });

感谢@anirudh 我解决了我的问题

首先定义一个变量:

readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

然后将这些代码写在我的api中的ConfigureServices中:

services.AddCors(options =>
    {
        options.AddPolicy(name: MyAllowSpecificOrigins,
            builder =>
                {
                    builder.WithOrigins("http://localhost") //Or my flutter web host
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        .SetIsOriginAllowed((host) => true);
                });
    });

配置中的这一行:

app.UseCors(MyAllowSpecificOrigins);