Firebase设置handleCodeInApp为false后密码重置链接仍跳转应用如何解决
解决方案
- 首先移除
ActionCodeSettings中的iOSBundleId和androidPackageName参数。只要配置了这两个参数,Firebase生成的密码重置链接会自动绑定你的移动端应用,再加上你已经完成了Dynamic Links、App Links/Universal Links的系统级关联配置,只要用户设备安装了应用,系统会优先唤起应用,handleCodeInApp参数无法覆盖系统层级的链接唤起规则。
调整后的配置参考:const codeSettings = { url: "https://www.example.com/handler/_resetPassword", handleCodeInApp: false } - 如果你确实需要保留移动端包名配置满足其他业务场景,可以通过修改应用的链接关联规则实现重置链接不唤起应用:
- Android端:在
AndroidManifest.xml中对应App Links的intent filter配置里,添加路径排除规则,跳过密码重置路径的应用拦截 - iOS端:在Universal Links的
apple-app-site-association文件中,添加NOT规则排除重置密码相关路径,避免系统匹配到链接后直接唤起应用
- Android端:在
- 也可以单独为密码重置功能使用未配置过App Links/Universal Links关联的独立域名作为跳转目标,从根源上避免系统匹配唤起应用。
内容的提问来源于stack exchange,提问作者Tom3652
相关产品推荐
相关产品推荐

