Firebase 发送无密码登录电子邮件时根据操作码设置更改操作URL

Firebase 发送无密码登录电子邮件时根据操作码设置更改操作URL,firebase,react-native,firebase-authentication,firebase-dynamic-links,react-native-firebase,Firebase,React Native,Firebase Authentication,Firebase Dynamic Links,React Native Firebase,我的firebase项目有两个前端接口,都位于后端的同一个firebase应用程序中。一个是网络,一个是iOS 我正在尝试为iOS应用程序创建无密码登录功能,并且已经阅读了所有关于设置动态链接、自定义域等的安装指南 我已经到了一个地步,web和iOS应用程序都可以成功发送电子邮件,但是根域在每个平台发送的电子邮件之间发生变化。一个例子如下: Web应用程序:通过firebase.auth.sendSignInLinkToEmail发送登录电子邮件,电子邮件中生成的根域为https://app.d

我的firebase项目有两个前端接口,都位于后端的同一个firebase应用程序中。一个是网络,一个是iOS

我正在尝试为iOS应用程序创建无密码登录功能,并且已经阅读了所有关于设置动态链接、自定义域等的安装指南

我已经到了一个地步,web和iOS应用程序都可以成功发送电子邮件,但是根域在每个平台发送的电子邮件之间发生变化。一个例子如下:

Web应用程序:通过firebase.auth.sendSignInLinkToEmail发送登录电子邮件,电子邮件中生成的根域为https://app.domainname.com 这是正确的,在firebase中设置为白名单域/动态链接域

iOS应用程序:使用相同的函数,生成的根域为https://domainname.com 不准确的这会导致链接转到非firebase通用网站,并中断流量

如果我将app子域添加回iOS电子邮件生成的链接中,那么动态链接确实会起作用,因此问题似乎与此根域更改无关

经进一步调查,该问题似乎与操作代码设置有关

如果设置了iOS.bundleId属性,或者handleCodeInApp为true,则使用的根域不正确。无论是web应用程序还是iOS应用程序都是如此

在这两个项目中,我都在domainname.com上做了一个项目查找。我的iOS应用程序是一个弹出的expo应用程序,因此搜索中包含了这个项目的Xcode文件,在代码库或后端代码库中都找不到子域的任何实例,因此我不知所措

我查看了整个firebase设置,找不到任何出现错误设置的实例,但肯定不知道平台上有搜索功能。验证->模板中的操作URL%LINK%设置似乎是正确的URL

我希望达到这样一种程度,即无论操作代码设置如何,都使用相同、正确的根域。我假设这是一个配置问题,但我完全不知道如何解决它,因此任何帮助都将不胜感激

以下是正在使用的操作代码设置,以供参考:

    var actionCodeSettings = {
      url: 'https://app.domainname.com',
      iOS: {
        bundleId: 'com.domainname.app'
      },
      handleCodeInApp: true
    }

谢谢

如果将来有人发现这个问题,我发现这个问题是由于react native firebase动态链接中未记录的缺少对自定义域的支持,以及库仅使用firebase动态链接设置中的第一个选定域发送电子邮件链接


在撰写本文时,解决方案是从我的动态链接设置中删除所有其他域,只留下PROJECTNAME.page.link,这样库就可以使用这个域了。从那时起,一切都按预期进行。

您能否提供有关发送的完整电子邮件链接的更多详细信息?您可以编辑链接中的敏感值。如果您在web和iOS中设置相同的ActionCodeSettings,则它们应发送相同的链接。您还可以添加iOS应用程序ActionCodeSettings代码段。