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

FirebaseUI邮件链接认证报错:Requested action is invalid 求助

解决方案:邮件链接登录报错排查与修复

针对你遇到的"The requested action is invalid."和"Request is missing required data"错误,从以下几个方向排查修复:

1. 统一ContinueUrl配置

你的代码中emailLinkSignIn使用window.location.href作为回调URL,但这个值会包含当前页面的所有查询参数,和邮件中生成的continueUrl(https://dev-dot-MYPROJECT2.appspot.com/signin)可能不一致,导致Firebase验证失败。

修复方式:固定回调URL为你的登录页面地址,确保和邮件中的continueUrl完全匹配:

emailLinkSignIn: function () {
  return {
    url: "https://dev-dot-MYPROJECT2.appspot.com/signin", // 替换为你的登录页面固定URL
    handleCodeInApp: true,
  };
},

2. 确认授权域名全覆盖

检查Firebase控制台「Authentication > 授权域名」,确保添加了以下域名:

  • dev-dot-MYPROJECT2.appspot.com(你的App Engine应用域名)
  • auth.example.com(自定义Auth域名)
    注意域名要包含完整的协议前缀(http/https),如果有不同环境的域名(如生产/开发),也要全部添加。

3. 检查API密钥限制

登录Google Cloud控制台,找到对应Firebase项目的API密钥(即Firebase配置中的apiKey):

  • 确保HTTP referrer限制包含你的App Engine域名,避免API请求被拦截
  • 确认已启用「Firebase Authentication API」(在API库中搜索并检查状态)

4. 确保URL参数完整传递

当邮件链接跳转到你的登录页面时,Flask路由或中间件可能会过滤掉查询参数(oobCode、mode等),导致FirebaseUI无法获取必要数据:

  • 检查Flask的/signin路由,确保没有重写URL或清理查询参数的逻辑
  • 测试直接访问带参数的登录页面:https://dev-dot-MYPROJECT2.appspot.com/signin?mode=signIn&oobCode=测试码&apiKey=你的API密钥,确认页面能正常加载并读取参数

5. 验证SDK版本兼容性

确保Firebase SDK和FirebaseUI的版本匹配,建议升级到最新稳定版:

  • 检查页面中引入的firebase-app.js、firebase-auth.js、firebaseui.js版本是否一致
  • 避免混用不同大版本的SDK(如Firebase v9和FirebaseUI v4)

6. 确认登录方法配置

在Firebase控制台「Authentication > 登录方法」中:

  • 确保「邮箱/密码」登录方式已启用,且「允许使用邮箱链接登录」选项已勾选
  • 检查邮箱模板中的链接配置,没有自定义修改导致参数丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:53:14