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

Firebase无密码登录动态链接被拦截问题求助

排查React Native Firebase无密码登录动态链接拦截问题

以下是针对你遇到的“无效动态链接 - 被拦截”问题的具体排查方向和修复建议:

1. 修正actionCodeSettings中的url参数

你当前填写的是Firebase动态链接的短链接(https://MYPROJECT.page.link/M3bd),这是错误的配置方式。url参数应该填写你的应用可处理的深层链接(如myapp://email-signin)或已授权的Web回退URL(如https://your-custom-domain.com/auth/callback),而非动态链接的短地址。

正确配置示例:

const actionCodeSettings = {
    handleCodeInApp: true,
    url: 'https://your-custom-domain.com/auth/callback', // 替换为你的授权回退URL或深层链接
    iOS: {
        bundleId: BUNDLE_ID,
    },
    android: {
        packageName: BUNDLE_ID,
        installApp: true,
        minimumVersion: '12',
    },
};

2. 检查Auth授权域名的完整性

前往Firebase控制台→Authentication→登录方法→授权域名,确保添加了以下内容:

  • 你在actionCodeSettings中填写的url对应的完整域名(包含http://或https://,注意大小写和斜杠)
  • 动态链接的根域名(如MYPROJECT.page.link,无需加路径)
  • 错误提示中给出的完整拦截URL(复制粘贴避免拼写错误)

3. 验证动态链接域名状态

前往Firebase控制台→动态链接,查看你使用的域名(MYPROJECT.page.link)是否显示为已验证。若未验证,按照控制台提示完成域名验证步骤(添加DNS记录或上传验证文件)。

4. 确认Android App Links配置

  • 确保assetlinks.json文件已正确部署到你Web域名的.well-known目录下,文件内容需包含你的应用packageName和正确的SHA-256指纹(可在Firebase控制台→项目设置→应用→Android应用中查看)
  • 在Firebase控制台的Android应用设置中,确认已勾选“启用App Links”

5. 确认iOS Universal Links配置

  • 在Xcode中,为你的应用添加关联域名权限(Signing & Capabilities→Associated Domains),添加applinks:MYPROJECT.page.link
  • 确保apple-app-site-association文件已部署到你Web域名的根目录或.well-known目录,且内容与Firebase配置一致

6. 检查深层链接的处理逻辑

确保你的React Native应用已正确配置深层链接处理(使用react-native-firebase/auth的isSignInWithEmailLink方法检测链接,并调用signInWithEmailLink完成登录),避免因应用无法处理链接导致跳转到Web页面触发拦截。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:32:53