You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web中Amplify.API.get调用AdminQueries接口报错求助

解决Flutter Web环境下Amplify AdminQueries调用失败的问题

针对你遇到的iOS模拟器正常、Chrome Web端调用listUsersInGroup时报TypeError: Failed to fetch的问题,以下是几个关键排查方向和解决方法:

  • 检查API Gateway的CORS配置
    Web端跨域请求失败是这类问题的高频原因。登录AWS控制台找到目标API Gateway:

    1. 进入listUsersInGroup对应的GET方法配置页
    2. 确认CORS设置中:
      • 允许的Origin包含你的Web应用域名(本地调试可临时设为*测试,生产环境需指定具体域名)
      • 允许的Headers包含Authorization、Content-Type等Amplify所需头
      • 允许的Methods包含GET
        配置完成后务必重新部署API到dev阶段。
  • 确认Amplify Web端初始化完整性
    Web端需要单独引入并添加AmplifyWeb插件,检查你的初始化代码:

    import 'package:amplify_flutter/amplify_flutter.dart';
    import 'package:amplify_api/amplify_api.dart';
    import 'package:amplify_auth_cognito/amplify_auth_cognito.dart';
    import 'package:amplify_web/amplify_web.dart';
    
    Future<void> configureAmplify() async {
      try {
        await Amplify.addPlugins([
          AmplifyAuthCognito(),
          AmplifyApi(),
          AmplifyWeb(), // Web端必须添加此插件
        ]);
        await Amplify.configure(amplifyconfig);
        safePrint('Amplify配置成功');
      } on Exception catch (e) {
        safePrint('Amplify配置失败: $e');
      }
    }
    
  • 验证AdminQueries的权限配置
    AdminQueries需要调用方具备cognito-idp:ListUsersInGroup的IAM权限:

    • 检查当前登录用户所属的用户组或附加的IAM策略,确保包含如下语句:
      {
        "Effect": "Allow",
        "Action": "cognito-idp:ListUsersInGroup",
        "Resource": "arn:aws:cognito-idp:ap-southeast-2:你的AWS账号ID:userpool/你的用户池ID"
      }
      
    • 打开Chrome开发者工具的Network标签,查看请求头是否携带有效的Authorization字段,确认认证信息正常传递。
  • 排查混合内容限制
    如果你的Web应用以HTTP方式本地调试(如http://localhost:5000),而API使用HTTPS,浏览器会阻止混合内容:

    • 可改用HTTPS启动Flutter Web(需生成本地SSL证书):
      flutter run -d chrome --web-port=5000 --web-hostname=localhost --web-ssl-cert=cert.pem --web-ssl-key=key.pem
      
    • 或临时在Chrome中允许当前站点的不安全内容:点击地址栏锁图标 → 网站设置 → 不安全内容 → 允许
  • 升级Amplify依赖版本
    旧版本Amplify插件可能存在Web端兼容性问题,更新pubspec.yaml中的依赖到最新稳定版:

    dependencies:
      amplify_flutter: ^1.10.0 # 替换为最新版本
      amplify_api: ^1.10.0
      amplify_auth_cognito: ^1.10.0
      amplify_web: ^1.10.0
    

    执行flutter pub get完成依赖更新

内容的提问来源于stack exchange,提问作者DBC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:47:50