使用电子邮件以及用户名和密码进行Firebase身份验证

时间:2019-06-14 18:40:40

标签: java firebase firebase-authentication

我想知道是否可以使用电子邮件和用户名+密码登录,我有一个项目希望用户添加一个唯一的号码(实际上这是我们公司提供的我们的工作识别号码)能够登录该计划的人将不受公司聘用的约束。

即使电子邮件和密码正确但用户ID错误,我也需要Firebase身份验证来拒绝登录。

1 个答案:

答案 0 :(得分:1)

您可以使用数据库检查ID是否相同。

您可以创建以下数据库:

users
   userId
      userCompanyId : id
      email         : email@gmail.com

因此,您可以首先根据用户的电子邮件和密码对用户进行身份验证,然后检查用户输入的ID或唯一编号是否与数据库中的ID相同:

mAuth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                      // retrieve Id from database and check if it is the same
                } else {
                    //sign in failed
                    Log.w(TAG, "createUserWithEmail:failure", task.getException());
                }
            }
        });