【问题标题】:firebase authentication with email and username and password使用电子邮件和用户名和密码进行 Firebase 身份验证
【发布时间】:2019-06-14 18:40:40
【问题描述】:

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

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

【问题讨论】:

    标签: java firebase firebase-authentication


    【解决方案1】:

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

    您可以创建以下数据库:

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

    所以你可以先根据用户的邮箱和密码对用户进行身份验证,然后检查用户输入的 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());
                    }
                }
            });
    

    【讨论】:

    • 这确实是常用的方法。您甚至可以考虑为此实现一个自定义提供程序,尽管您必须自己存储更多信息,因为在这种情况下 Admin SDK 无法为您验证凭据。
    • 您能帮我完成登录活动,以便能够为我进行检查吗?我在帖子中添加了我的登录和注册活动,问候。
    • 请检查我的代码,并告诉我应该将创建命令放在哪里以在数据库中生成 ID,以及在登录时将代码放在哪里检查。
    • 请在问题中添加您的代码,而不是在我的答案中
    猜你喜欢
    • 2019-06-11
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2020-09-13
    • 1970-01-01
    • 2016-02-11
    相关资源
    最近更新 更多