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

Supabase Flutter Google Auth启动异常:授权后重定向回登录页

Flutter Supabase Google 登录重定向后未登录问题排查方案

核心排查步骤

1. 重定向Scheme严格校验

  • 确认Android build.gradle 中的 appAuthRedirectScheme 完全匹配 Google Cloud安卓客户端ID的末尾段(格式为com.googleusercontent.apps.xxxxxx),大小写、字符、长度必须完全一致,不能存在空格或多余符号。
  • iOS端需同步检查Info.plist的CFBundleURLSchemes,确保已添加相同Scheme,无拼写错误。

2. Supabase控制台OAuth配置检查

  • 登录Supabase项目控制台,进入Authentication > Providers > Google:
    • 安卓、iOS客户端ID需分别填入对应平台输入框,禁止跨平台混用。
    • Redirect URLs必须添加完整路径:
      • Android端:com.googleusercontent.apps.xxxxxx:/oauth2redirect/google
      • iOS端:com.googleusercontent.apps.xxxxxx:/oauth2redirect/google
        注意Scheme部分必须与客户端ID末尾完全一致,不能省略路径后缀。

3. 本地缓存清理与日志调试

  • 清除App本地缓存(Android:设置-应用-清除数据;iOS:卸载重装),避免旧会话残留干扰。
  • 在登录逻辑中添加日志打印,追踪授权返回结果:
    final authResponse = await supabase.auth.signInWithOAuth(Provider.google);
    print('用户信息:${authResponse.user}');
    print('授权错误:${authResponse.error}');
    
    查看控制台是否出现redirect_uri_mismatch、权限不足等明确错误提示。

4. Google Cloud凭据配置校验

  • 进入Google Cloud控制台API和服务 > 凭据,找到对应平台的客户端ID:
    • 安卓客户端的包名必须与Flutter项目build.gradle中的applicationId完全一致,SHA-1指纹需正确(调试环境可通过keytool -list -v -keystore ~/.android/debug.keystore获取)。
    • iOS客户端的Bundle ID必须与Xcode中项目的Bundle Identifier完全匹配。
  • 检查OAuth同意屏幕状态:若处于测试状态,仅添加至测试用户列表的账号可登录,可切换为生产状态或使用测试账号验证。

5. 依赖版本兼容性排查

  • 确认supabase_flutter及appauth相关依赖版本无冲突,可尝试锁定至教程指定版本,或更新至最新稳定版后重新测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 13:47:07