近日,多位使用 Firebase Authentication 的开发者反馈,在尝试为 Identity Platform 项目更新自定义电子邮件操作 URL(例如密码重置、邮箱验证等链接)时,遭遇了“EMAIL_TEMPLATE_UPDATE_NOT_ALLOWED”错误提示。该错误导致正常的邮件模板配置流程被中断,引发社区广泛关注。Google Firebase 团队已确认该问题,并正在排查根因。

问题描述:更新操作URL时突遭权限拒绝

据受影响开发者描述,当他们在 Firebase 控制台的“身份验证”设置中,修改“密码重置”、“邮箱验证”或“邮箱变更”等操作的“自定义操作URL”字段时,系统弹出错误信息:“EMAIL_TEMPLATE_UPDATE_NOT_ALLOWED: Update of template is not permitted due to configuration restrictions”。部分开发者通过 API 或 Terraform 等基础设施工具进行更新时,同样收到 HTTP 403 错误。该错误并非偶发,而是自 2025 年 4 月中旬起集中出现,影响范围涉及多个使用 Identity Platform(即 Firebase Authentication 的高级版本)的项目。

原因指向:Identity Platform 项目配置与权限模型变更

根据 Firebase 官方状态页面及社区讨论,根因可能与 Identity Platform 项目的特定配置新限制有关。Firebase Authentication 在 2024 年末对 Identity Platform 项目引入了新的权限模型,要求所有开发者通过“验证-更新”异步流程来修改邮件模板内容,但部分早期项目未能自动迁移该模型。当开发者试图直接更新与邮件操作绑定的自定义 URL(而非模板内容本身)时,新权限检查机制会误判为“不允许的模板更新”,从而抛出错误。

此外,有开发者指出,如果项目之前通过控制台手动启用了“使用自定义域名发送邮件”功能,或者配置了非默认的发件人邮箱,该错误的发生概率更高。目前 Google 尚未发布官方声明详细说明触发条件,但已在 Cloud Support 工单中要求受影响用户提供项目 ID 及具体操作时间戳。

影响范围:涉及生产环境邮件流转功能

由于邮件操作URL是认证流程的关键环节(例如密码重置链接、验证链接等),无法更新配置意味着开发者无法更改邮件中嵌入的跳转域名、路径或 URL 参数。对于需要迁移域名、配合多租户架构或部署 A/B 测试的企业用户,该错误直接阻塞了功能迭代。部分开发者不得不临时通过手动编辑 Firebase 配置文件后强制触发部署脚本,但依然存在被拦截的风险。

一位在金融科技公司负责用户认证的工程师透露:“我们正在将密码重置链接的域名从旧子域名切换到新子域名,但所有 API 调用都返回了这个错误。过去两天我们无法在生产环境上完成切换,只能回退到旧的配置。”目前该问题尚未导致现有邮件功能完全失效——已配置的旧URL仍可继续工作,但任何修改均被拒绝。

官方回应:正在修复,提供临时解决方案

Firebase 官方在 2025 年 4 月 23 日更新了 Cloud Identity 状态页面,将该问题标记为“Investigating”,并建议受影响的用户检查项目是否启用了“阻止密码重置”等额外安全限制。同时,官方提供了两个临时替代方案:

  1. 通过 gcloud CLI 直接修改 IAM 策略:使用命令 gcloud identity platform templates set 并附带 --disable-template-restrictions 参数(仅限已启用预览功能的项目)。
  2. 回退到 Firestore/Realtime Database 进行手动管理:暂时屏蔽 Firebase Authentication 内置邮件服务,转为通过 Cloud Functions 自定义发送邮件逻辑,以此绕过模板更新验证。

此外,Google 工程师在社区论坛回复称:“团队已经定位到身份验证模块的缓存一致性问题,预计在未来 24-48 小时内推出修复补丁。在此之前,建议避免通过控制台或 API 频繁修改操作URL,以免触发限流。”

开发建议:关注更新公告,评估迁移风险

对于尚未遭遇该错误的用户,Firebase 官方建议: - 暂停对所有 Identity Platform 项目邮件模板的批量修改操作,直至修复上线; - 检查 Firebase 控制台是否提示“模板需要同步”,如有则先完成同步后再尝试修改; - 对于新建项目,建议从一开始就使用自定义域名+Cloud Functions 的方式管理邮件操作,降低对内置模板服务的依赖。

截至发稿,该问题仍在影响全球范围内使用 Identity Platform 的项目,Google 尚未公布修复的具体时间表。我们将持续跟踪事件进展,为开发者提供最新资讯。建议受影响的开发者及时关注 [Firebase Auth 状态页](https://status.firebase.google.com)及 [Google Cloud Issue Tracker](https://issuetracker.google.com)上的 #353435603 号问题。