使用 Firebase 电子邮件验证的动态/深度链接?

Posted

技术标签:

【中文标题】使用 Firebase 电子邮件验证的动态/深度链接?【英文标题】:Using dynamic/deep linking with Firebase email verification? 【发布时间】:2019-06-10 07:19:07 【问题描述】:

我将 RNfirebase 与我的 react-native 应用程序一起使用。我可以获得电子邮件验证链接来打开我的应用程序,但仅此而已。我知道我需要访问该链接并对其进行解析以获取 oobCode 并将其应用于用户。但是,当我使用链接打开我的应用程序时,我使用来自“react-native”的 Linking 触发的侦听器似乎没有检测到该 URL。我想将他们重定向到“感谢您验证您的电子邮件”页面,并使用 firebase 生成的 oobCode 验证他们的电子邮件。

我已经操纵我的 androidManifest.xml 来监听链接 (myapp.page.link)

<intent-filter android:label="@string/app_name">
          <action android:name="android.intent.action.VIEW"/>
          <category android:name="android.intent.category.DEFAULT"/>
          <category android:name="android.intent.category.BROWSABLE"/>
          <data
              android:scheme="https"
              android:host="myapp.page.link"
              />
      </intent-filter>

我在初始应用页面中添加了监听器。

useEffect(() => 
getLink()
Linking.addEventListener('url', appWokeUp)
, [])

const getLink = async() => 
        const link = await Linking.getInitialURL()
        console.log(link)
    

    const appWokeUp = event => 
        console.log(event.url)
    

我从 getLink() 收到的只是“null”。我没有从 appWokeUp 处理程序收到任何东西。我希望至少会收到触发应用程序的 url。

【问题讨论】:

【参考方案1】:
    使用firebase.links().onLink()firebase.getInitialUrl() 获取链接。 然后解析查询字符串,使用参数oobCode 致电firebase.auth().applyActionCode()

【讨论】:

在我的 onLink 中,我只是得到了没有任何参数的深层链接......关于如何实际检索代码的任何想法? 您使用的是来自firebase.links()onLink 吗?在您的示例中,您似乎使用的是 react-native(Linking)

以上是关于使用 Firebase 电子邮件验证的动态/深度链接?的主要内容,如果未能解决你的问题,请参考以下文章

密码重置电子邮件中的 Firebase 传递状态(继续应用链接)

Firebase 电子邮件验证行为

在 Firebase 中使用 Google 身份验证未收到电子邮件

如何使用 Firebase 发送验证电子邮件?

通过电子邮件/密码使用 Firebase 身份验证将 Firebase 连接到 Android 应用程序

Firebase 电子邮件验证无法正常工作