如何配置Firebase邮箱验证的actionCodeSettings?解决INVALID_CONTINUE_URI报错
问题核心原因拆解
- 最直接的报错触发点:
actionCodeSettings配置里的url字段不符合Firebase的URI校验规则。你当前写的url: 'www.myDomain.com'是不带协议前缀的裸域名,Firebase在解析continue URL时会把没有http/https前缀的字符串判定为相对路径,无法提取到有效域名,直接触发INVALID_CONTINUE_URI: Missing domain in continue url的400错误。 - 调整
handleCodeInApp为false后无响应的原因:你改的参数方向没问题,但核心的URL格式错误一直没有修复,接口请求在参数校验阶段就被拦截了,根本走不到后续的邮件发送、控制台返回流程,不是这个调整方式无效。 - 容易被忽略的隐藏触发点:你硬抄官方示例里的占位配置(比如示例里的iOS bundleId、android包名、dynamicLinkDomain的示例域名),如果没有替换成自己项目的实际值,也会在后续触发额外的参数校验失败。
分步修复方案
- 先把
url字段改成带完整协议的合规地址,比如要跳转回自己的站点就写url: 'https://www.mydomain.com',必须补全https或者http的协议头,不能直接写裸域名串。 - 根据实际业务需求裁剪配置,不要照搬官方示例的冗余字段:
- 如果你的流程只面向Web端,没有集成移动端APP的跳转逻辑,直接把
handleCodeInApp设为false,同时把iOS、android、dynamicLinkDomain这几个无关的字段全部删掉,避免占位值触发校验报错。 - 如果确实需要支持移动端跳转,再把
handleCodeInApp保持为true,同时把示例里的占位iOS bundleId、Android包名、dynamicLinkDomain值替换成自己项目实际生成的对应配置,不要留示例的演示值。
- 如果你的流程只面向Web端,没有集成移动端APP的跳转逻辑,直接把
- 打开Firebase控制台的身份验证设置页,检查「授权域」列表里是否已经添加了你配置的
url对应的域名,没有的话手动新增,避免后续因为域名权限问题被拦截请求。 - 完成以上调整后再触发邮箱验证邮件发送流程,就不会再出现之前的400报错。
内容的提问来源于stack exchange,提问作者Nina
相关产品推荐
相关产品推荐

