当前位置: 首页 > 知识库问答 >
问题:

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

梁锋
2023-03-14

我正在使用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个答案

袁高峰
2023-03-14
  1. 使用firebase.links().onlink()firebase.getInitialURL()获取链接。
  2. 然后解析查询字符串并使用参数oobcode
  3. 调用firebase.auth().applyActionCode()
 类似资料:
  • 如果我打开在桌面浏览器上收到的电子邮件中的链接,则用户的电子邮件被成功验证(标志FirebaseUser.isemailVerificed返回true) 然而,我尝试使用深度链接。因此,如果用户点击移动设备上的链接,将在应用程序中重定向,我有深度链接监听器。我希望当我收到应用程序内的深度链接数据时,isemailverificed标志会立即更新,但事实并非如此)。实际上,即使在按下链接时,也应该进

  • 我在Firebase控制台中设置了一个深层链接,更新了SHA1、SHA256,我尝试从移动浏览器调用深层链接,它完美地打开安装的应用程序,但当我尝试使用从应用程序发送的电子邮件验证链接时,它会转到Play商店。以下是发送验证链接的方式 我的意图过滤器如下所示 我已经将该域名列入了白名单,我重复一下,该链接可以从移动浏览器中获得,但不能从电子邮件中获得。非常感谢您的帮助

  • 我正在使用Firebase以及作为Firebase动态链接的一部分生成的url。 > firebase动态url如下所示:例如:https://myapp.page.link/h1c4 用户收到电子邮件并点击验证链接。 在重定向结束时,我可以看到url包含如下所示的oobCode: https://myapp.page.link/h1c4?apikey=&oobcode=yg2n2elu4qgbs

  • 我正在使用AWS Cognito进行电子邮件验证,但我遇到的用户注册问题是,它只发送验证代码,无法自定义电子邮件,因此我可以重定向用户,以便在Cognito上验证其电子邮件。使用。net core 2.1 C#。 到目前为止,我得到的是使用亚马逊提供的SES发送电子邮件验证码。 我想使用电子邮件验证链接验证用户电子邮件。

  • 我正在使用Vue,这是我的注册方法,它所做的是注册任何电子邮件ID... 我已在 Firebase 控制台中配置了电子邮件验证。现在,我希望注册方法发送验证邮件,并且只有在用户已验证电子邮件时才注册用户。 我应该如何修改现有代码?我很困惑。

  • 我在我的应用程序中使用Firebase认证,用户可以使用电子邮件和密码注册,他必须验证电子邮件。 用户收到验证邮件,但当他验证邮件并返回应用程序时,isEmailVerified()始终为false。所以我的应用程序仍然不允许用户使用所有功能,尽管事实上他已经验证了他的电子邮件。 但是如果他们注销并再次登录,isEmailVerified()立即返回true。但是注销用户然后重新登录是不是很好。