首页 > 解决方案 > react-native-firebase 返回应用程序并在电子邮件验证后使用动态链接进行验证

问题描述

我正在努力思考如何正确地做到这一点。

我想做的是:

  1. 发送验证邮件
  2. 当用户点击验证链接时,它会将他们发送回应用程序到特定的视图/路线

目前我的工作方式是这样的:

我用这个发送电子邮件验证链接:

                await auth().currentUser.sendEmailVerification({
                    handleCodeInApp: true,
                    url: "https://MYAPP.page.link/email-verification"
                });

现在在 firebase 控制台中,我不得不设置一个以https://主链接开头的 URL。这是我的第一个问题,我不想打开网页;我想在应用程序中打开一个链接,非常简单,比如myapp://email-verification

在此处输入图像描述

这迫使我,而不是依赖已经在我的应用程序中设置的深度链接功能react-navigation,手动捕获打开,然后专门处理虚假链接。我已经将链接设置到我们网站上有关该应用程序的页面,但这几乎是完全任意的。现在我必须在我的 App.js 中做:

  useEffect(()=>{
    function handleDynamicLink(url) {
      if (url == 'https://MYWEBSITE.com/some-random-link-that-isnt-an-app-deeplink') {
        // Navigate to the View / Link I actually want to
      }
    }

    const unsubscribe = dynamicLinks().onLink(handleDynamicLink);

    dynamicLinks().getInitialLink()
      .then(link => link && handleDynamicLink(link));

    return ()=>{
      unsubscribe();
    }
  },[]);

如果我尝试将 URL 设置为sendEmailVeification我想使用com.myapp://email-verificationFirebase 所说的内容Domain not whitelisted,并且无法添加com.myapp://email-verification,因为它不是域,而是协议和路由。

标签: firebasereact-nativereact-navigationreact-native-firebase

解决方案


推荐阅读