firebase - Firebase 身份验证 – 电子邮件状态更新已验证
问题描述
长期以来,我一直忽略了电子邮件/密码注册过程和必要的电子邮件验证,只使用了非常基本的功能来开始并在此基础上进行构建。但现在我已经到了无法避免使用更多生产级电子邮件/密码注册过程的地步。目前我正在使用这些 Firebase 服务:身份验证(仅限电子邮件/密码)、Firestore和带有 react-native 应用程序的Cloud Functions 。
当用户成功注册(已登录但没有经过验证的电子邮件!)时,React Native 应用程序将不会提供功能,直到用户验证了他/她的电子邮件。注册后,客户端将立即发送一封带有验证链接的电子邮件(通过默认的 firebase 服务器),用户可以通过单击链接来验证他/她的电子邮件。
问题:如何对 emailVerified 的更改或电子邮件通过验证时触发的任何其他事件做出适当的反应?
我现在整天都在寻找一个可行的解决方案。这些是我的方法:
- 使用所有验证链接都链接到的您自己的网站(尝试过,但在我第一次尝试时不起作用)
- 在电子邮件验证链接中使用 actionCodeSettings 来重定向用户并让客户端重新加载其组件
- 使用云消息并通知客户有关电子邮件验证状态的更改
- 调用云函数(从外部服务器),更新客户端订阅的 Firestore 中的 tmp 文档
- 重载()/循环
我感谢所有评论、有用的链接等!
解决方案
Firebase SDK 中有一个方法:isEmailVerified(),它告诉用户是否验证了电子邮件。
对于 react native,我找到了简单的文档:Email Verified。在应用程序启动时,您可以检查用户是否验证了电子邮件,然后进行相应的更改!
快乐编码!
推荐阅读
- python - importefficientnet.keras as efn - AttributeError: module 'keras.utils' has no attribute 'generic_utils'
- python - 需要 InstagramAPI 错误 400 检查点质询
- javascript - 按第二个单痴呆数组中列出的索引对一维数组进行排序 - JavaScript
- javascript - 尝试添加照片而不是颜色
- node.js - Strapi 管理面板用户权限初始化 404
- node.js - NodeJS 加密模块不适用于 http 模块
- flutter - 如何在 Flutter 中创建工作侧边栏
- kubernetes - Kubernetes 集群:如何确定哪些节点是主节点
- python - cx_Oracle 连接失败,出现“DPI-1047:找不到 64 位 Oracle 客户端库”
- c# - System.IO.FileNotFoundException:'在 xamarin 表单中找不到文件“/mytextfile.txt”'