如何在Firebase中实现whatsapp类型电话号码授权

如何在Firebase中实现whatsapp类型电话号码授权,firebase,firebasesimplelogin,rest-firebase,Firebase,Firebasesimplelogin,Rest Firebase,以下是我努力实现的目标: 用户安装应用程序 在第一次发布时,用户将被要求指定电话号码和姓名 通过调用OTP服务提供商的RESTAPI来验证电话号码 一旦完成双因素身份验证,我将在Firebase数据库中创建用户,并将其手机号码和姓名作为唯一电话号码的属性 问题:现在,我没有得到的是如何仅使用电话号码对用户进行身份验证,因为我想跟踪他/她的手机号码下的所有活动 function showLoginBox() { ... // Do whatever DOM operations you

以下是我努力实现的目标:

  • 用户安装应用程序
  • 在第一次发布时,用户将被要求指定电话号码和姓名
  • 通过调用OTP服务提供商的RESTAPI来验证电话号码
  • 一旦完成双因素身份验证,我将在Firebase数据库中创建用户,并将其手机号码和姓名作为唯一电话号码的属性
问题:现在,我没有得到的是如何仅使用电话号码对用户进行身份验证,因为我想跟踪他/她的手机号码下的所有活动

function showLoginBox() {
  ...
  // Do whatever DOM operations you need to show the login/registration box.
  $("#registerButton").on("click", function() {
    var email = $("#email").val();
    var phone = $("#phone").val();

   // Invoke REST API to generate OTP/ Miss call
   // Read OTP or user enters the OTP
   // Invoke REST API to complete 2FA (Two factor authentication)
   // Add the user information to Firebase
    authClient.createUser(email, phone, name, function(error,  user) {
      if (!error) {
        doLogin(user);
      } else {
        alert(error);
      }
    });
  });
}
现在doLogin()函数将被传递给用户对象,我可以获得用户详细信息,但我现在如何登录。。因为我不能调用电子邮件/密码组合或匿名登录。 我甚至看到了JWT(JSONWebToken)的东西,但它是在自定义登录下提到的,不确定它是否有意义

我可以做以下工作: -将已验证的手机号码(2FA之后)保存到本地数据库(window.localstorage) -读取本地存储并在每次后续通话中发送手机号码

但是,除非我将调用身份验证,否则我如何实现安全/授权,以便此手机号码只能访问其相关数据

有人能帮我弄清楚以下几点吗 -如何仅使用用户的手机号码登录 -我如何通过用户的手机号码(此处手机号码是其用户id)跟踪用户执行的每项活动


提前感谢。

电话号码不是电子邮件地址。假装是这样,只会让人更头疼。Firebase目前不支持基于电话号码的登录。因此,您正在尝试向Firebase添加一种新的身份验证方法。这意味着您正在尝试添加自定义身份验证类型。你需要一个服务器来制造代币。非常感谢你的回复。我真的很喜欢你说的“电话号码不是电子邮件地址”。