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

Flutter Android应用Google登录报错:Storagerelay URI不允许

Flutter Android集成Google登录 Error 400: invalid_request 解决指南

错误原因

你遇到的Storagerelay URI is not allowed for 'NATIVE_ANDROID' client type错误,核心问题是客户端类型与回调URI不匹配:你配置了适用于Web端的Storagerelay回调,但使用的是NATIVE_ANDROID类型的OAuth客户端,两者不兼容导致授权被拦截。

方案一:改用Web客户端登录

获取Web客户端所需的两个URI步骤

  1. 打开Google Cloud控制台,进入你的项目(project-111111111)
  2. 进入「API和服务」→「凭据」页面
  3. 点击「创建凭据」→选择「OAuth客户端ID」
  4. 应用类型选「Web应用」,自定义一个名称(比如“Flutter Web登录客户端”)
  5. 在「已获授权的重定向URI」中添加以下两个通用URI:
    • http://localhost:5000:本地调试时使用
    • https://<你的应用包名>.firebaseapp.com/__/auth/handler:正式环境使用(如果你的应用关联了Firebase;未关联Firebase的话,可替换为你自己的域名回调,但Flutter Google登录默认推荐前者)
  6. 保存后,系统会生成Web客户端ID,同时这两个URI会被自动标记为已授权

是否仍可使用该登录方式?

完全可以。Web客户端模式的Google登录在Flutter Android应用中是合法且可行的,甚至在原生客户端配置受阻时更灵活——不需要额外配置SHA-1指纹,只要回调URI配置正确,就能正常完成授权流程。

方案二:修复原生客户端配置

如果坚持使用NATIVE_ANDROID客户端,需要调整回调URI:

  • 回到Google Cloud凭据页面,找到你的NATIVE_ANDROID客户端
  • 删除错误的Storagerelay URI,添加正确的原生回调格式:com.googleusercontent.apps.<你的客户端ID>:/oauth2redirect
  • 确保已将应用的SHA-1指纹正确添加到该客户端的配置中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:09:57