gpt4 book ai didi

firebase - 如何使用 Firebase 身份验证收听电子邮件验证事件并对 native 使用react?

转载 作者:行者123 更新时间:2023-12-04 14:39:25 25 4
gpt4 key购买 nike

编辑 - 这个问题仍然没有答案。有个主意听听onIdTokenChanged ,但是 token 每小时刷新一次,这对我来说不是实用的解决方案。我发布了后续问题 here如果人们能帮我一把,那将是赠予,因为我从一个星期开始就一直在解决这个问题。
我正在编写一个简单的 React Native 应用程序,我想仅在用户验证他们的电子邮件后才显示我的主页。据我所知,没有监听器可用于监听用户已验证其电子邮件的事件。我正在使用 firebase.auth().onAuthStateChanged((user) => {....})但听众onAuthStateChanged在用户登录或注册后调用,而不是在用户验证其电子邮件后调用。
少数地方建议使用 firebase.auth().user.reload()这样它将重新加载当前用户并从数据库中获取验证状态。但是,我不认为这是一个解决方案,因为我不知道什么时候应该重新加载当前用户,即我不知道什么时候点击了验证链接。所以这个问题的可能解决方案是:

  • 向用户发送6位确认码,等待用户在app中输入;用户输入后,如果代码相同,我刷新用户。但是我不知道如何使用 firebase 发送自定义验证电子邮件。我检查了文档,但这对我没有帮助。如果有人可以指出我用 React Native 编写的示例,或者用自定义电子邮件编写一个小的工作示例,我可以将其发送给用户(再次使用 React Native),那将是授予的! 编辑 - 这似乎不是可能的解决方案,因为 Firebase 不允许您自定义电子邮件
  • 我是否有可能覆盖 onAuthStateChanged 监听器的解决方案?英石。如果用户的电子邮件已经过验证,它会监听更改吗?如果这是一个好主意,有人可以指出我当前的 onAuthStateChanged在 react-native 中实现,所以我可以在覆盖时将其视为“灵感”?或者如果有人以前做过类似的事情,你能给我举个例子吗?
  • 我已经阅读了一些关于使用深层链接并在单击链接时插入事件的建议,但我不确定如何执行此操作,或者即使这是解决问题的正确方法。
  • 有人建议用firebase.auth().user.reload()当应用程序关闭并重新打开时。这是因为假设当用户收到链接后,为了让他们点击链接,他们需要关闭应用程序,然后重新打开它。我认为这是一个非常强有力的假设,考虑到他们可能会通过笔记本电脑验证他们的电子邮件并且永远不会关闭应用程序,所以我认为这也不是一个好的解决方案。

  • 显然,这似乎是一个众所周知的问题,但没有多少好的解决方案。我认为最好的解决方案是向用户发送 6 位验证码,在确认该验证码后,我会重新加载当前用户,拿起 emailVerified字段,它将被设置为 true 然后我将显示主屏幕。但是,有人可以帮助我如何在 react native 和 firebase 中发送自定义电子邮件吗?
    如果有人有任何其他建议,请告诉我!

    最佳答案

    Is it possible solution for me to override onAuthStateChanged listener? S.t. it will listen for changes if the user's email has been verified or not?

    onAuthStateChanged当用户的身份验证状态更改时调用,因此当他们从未登录变为登录或反之亦然时调用。设置的电子邮件验证标志不是身份验证状态的更改,因此在这种情况下不会调用回调。
    您可以 listen for onIdTokenChanged 相反,它会在每次 ID token 更改时触发。由于 ID token 包含是否验证用户电子邮件的标志,因此回调 onIdTokenChanged也将在更改时调用。

    关于firebase - 如何使用 Firebase 身份验证收听电子邮件验证事件并对 native 使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66174106/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com