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

如何在Firebase中检查用户是否通过了电话认证?

韩经武
2023-03-14
Auto-Generated ID 
+16505553434: "some@email.com"  
email:"some@email.com"  
first name: "First name"  
last name: "Last name" 
phone: "+16505553434"

共有1个答案

史磊
2023-03-14

当用户注册并注销后,当他们再次尝试使用该应用程序时,我想:如果用户存在,我不想再次进行电话认证,这应该只发生一次,当他们注册时,如果用户存在于数据库中,我只想键入他们的密码并登录。

当使用电话号码对用户进行身份验证时,不涉及密码。认证是使用通过SMS发送的验证码进行的。因此,如果用户退出,他无法简单地使用密码登录。他可以使用电话号码或任何其他提供商再次登录。

但问题是我如何检查用户是否是在Firebase注册的电话。如果用户已经注册,我希望显示输入密码的布局,而如果用户没有注册,我希望显示otpview,以便用户进行电话身份验证-注册。

您可以简单地根据电话号码检查数据库,看看用户是否已经有了一个帐户。类似这样的查询可能会起到以下作用:

db.child("users").orderByChild("phoneNumber").equalTo("+16505553434");

如果您得到了一个结果,这意味着用户存在。为了能够让用户“使用密码登录”,您需要启用这种身份验证。你可以在Firebase控制台很容易地做到这一点。但请记住,这是另一种身份验证类型,不能与第一种身份验证组合在一起。检查有关使用基于密码的Firebase进行身份验证的文档。因此,您可以使用电话号码或电子邮件和密码登录。您不能使用电话号码和密码登录。

当用户退出时,FirebaseAuth.getInstance().getCurrentUser()是空的,所以我不能使用它。我可以做什么来检查用户是否注册?

 类似资料:
  • 我在我的Dart/Flatter应用程序中使用Firebase云消息。下面的代码使用检索到的android通知令牌更新用户文档。 然后,我在我的云函数中读取。非常有效,但我错误地认为如果用户关闭了通知(例如,空或空),令牌将无效。确定是否为我的云应用程序功能启用通知的最佳方法是什么?我在我的搜索中发现了一些命中率,但很多已经过时,或者是针对不同的开发环境。

  • 我正试图使我的网站的一部分,是限制只有那些人谁登录。 目前,我可以使用:检查它们的登录状态

  • 问题内容: 有没有办法检查PHP是否启用了JavaScript?如果是这样,怎么办? 问题答案: 不可以,这是不可能的,因为PHP是一种服务器端语言,它不会以任何方式或形式(客户端从PHP服务器请求)访问客户端的浏览器。 客户端可以通过HTTP标头提供一些元信息,但是它们不一定告诉您用户是否启用了JavaScript,并且您无论如何也不能依赖它们,

  • 我是一个新的flutter,并使用firebase验证电话号码,但我无法验证。我浏览了它,但没有得到任何满意的解决办法。 我从StackOverflow实现了一些代码,但出现异常“Unhanded Exception:type”(FirebaseUser)=>Null'不是type Cast“中类型”(AuthCredential)=>Void“的子类型,因此无法捕获该异常。 pubspec.ya

  • 在我的应用程序中,我面临一种情况,即我有用户的电子邮件,但没有密码,因此我无法登录,也无法获得Firebase身份验证。我想知道的currentUser在发送密码重置链接之前是否验证了用户电子邮件,因为重置密码后用户电子邮件将被验证,但我没有currentUser,因此无法使用curruser.isEmailVerified 如何检查? Firebase 云功能在这里可以使用吗? 说明:用户未登录

  • 问题内容: 如何检查PHP中是否存在URL(非404)? 问题答案: 这里: 在这里和上面帖子的下面,有一个curl解决方案: