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

Flutter集成Firebase Auth:重置密码邮件链接缺失API Key致失效求助

问题:Firebase重置密码邮件链接缺失API Key导致报错

我开发的Flutter应用集成了Firebase Authentication,createUserWithEmailAndPassword认证功能正常,但调用FirebaseAuth.instance.sendPasswordResetEmail发送重置密码邮件后,点击链接弹出错误提示:"The selected page mode is invalid."。检查发现链接里的apiKey参数为空,手动补充后链接可正常使用,求解决办法确保邮件链接不缺API Key。

相关信息:

  • 重置密码代码截图:Code for reset Password
  • 缺失API Key的链接内容:https://skin-disease-detection-s-57573.firebaseapp.com/__/auth/action?mode=resetPassword&oobCode=N7p147fBJ12IrYDa_xhKSyhgfuTd9bOh7b1KKSvMqq4AAAGN0ikwvw&apiKey=&lang=en
  • 错误提示截图:Error link

解决方案
  • 检查Firebase认证邮件模板配置

    1. 登录Firebase控制台进入目标项目
    2. 打开「Authentication」→「Templates」选项卡
    3. 找到「密码重置」模板并点击编辑
    4. 确认模板中的重置链接包含{{apiKey}}变量,正确格式应为{{actionUrl}}&apiKey={{apiKey}}(若模板被修改过,可能丢失了该变量)
    5. 保存模板后重新发送测试邮件验证
  • 确认Flutter项目的Firebase配置文件

    1. 检查Android端google-services.json或iOS端GoogleService-Info.plist文件,确保api_key字段存在有效值
    2. 若配置文件老旧,从Firebase控制台重新下载并替换项目中的对应文件
    3. 清理项目缓存后重新构建应用
  • 手动配置ActionCodeSettings(可选)
    如果默认模板修复无效,可在调用接口时手动指定链接参数,显式带上API Key:

    final actionCodeSettings = ActionCodeSettings(
      url: 'https://your-app-domain.firebaseapp.com/__/auth/action?apiKey=YOUR_ACTUAL_API_KEY',
      handleCodeInApp: true,
      androidPackageName: 'com.your.app.package',
      androidInstallApp: true,
      iOSBundleId: 'com.your.app.bundle',
    );
    
    await FirebaseAuth.instance.sendPasswordResetEmail(
      email: targetEmail,
      actionCodeSettings: actionCodeSettings,
    );
    

    注意替换YOUR_ACTUAL_API_KEY、包名及Bundle ID为项目实际信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 04:15:01