Firebase密码重置如何适配多域名 区分本地开发与生产环境
问题根因
你传入的base_url对应的域名没有加入Firebase项目的授权域名白名单,Firebase遇到不在白名单内的地址会自动忽略自定义配置,fallback到项目默认的官方域名,所以不管传什么base_url最终生成的重置链接都完全一致。
解决步骤
- 登录Firebase控制台进入对应项目,依次打开「Authentication」→「设置」→「授权网域」列表,把本地测试用的地址(如果带端口要完整填写,比如
localhost:5173)和生产环境的域名都添加到白名单中。 - 确认你传入的
base_url是带协议的完整路径,比如本地测试填http://localhost:5173/reset,生产填https://你的生产域名/reset,不能只传域名或者相对路径。 - 如果你需要把重置链接的根域名也换成自己的专属域名(替换默认的
*.firebaseapp.com后缀),可以在同一设置页找到「自定义操作链接域名」配置项,按引导绑定你的自有域名即可。 - 配置完成后重新调用云函数测试,不同环境传入对应的
base_url就能生成匹配环境的重置链接,用户点击链接后会自动携带oobCode等校验参数跳转到你指定的页面,你在自定义密码重置页直接解析url参数完成后续校验逻辑即可。
异常排查
如果配置完成后问题仍然存在,可以先在云函数中打印base_url参数值,确认前后端传参、参数解析没有问题,避免实际传入的base_url一直是同一个固定值。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

