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

使用电子邮件、用户名和密码进行firebase身份验证

微生阳平
2023-03-14

我想知道是否有能力登录与电子邮件和用户id+密码,我有一个项目,我想让用户添加一个唯一的号码(实际上是我们公司提供的工作识别号码),以能够登录到该计划将保持私人公司就业。

我需要firebase认证拒绝登录,即使电子邮件和密码是正确的,但用户id是错误的。

共有1个答案

仉运乾
2023-03-14

您可以使用数据库来检查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());
                }
            }
        });
 类似资料:
  • 是否可以在Flatter中使用用户名和密码(而不是电子邮件和密码)实现Firebase身份验证?有没有办法用Firebase Auth插件来实现这一点?

  • 我正在为我的Laravel 5.7应用程序使用jwt auth。目前,我允许客户端输入电子邮件和密码作为用户凭据。 然而,我也想让客户输入他们的用户名,而不是他们的电子邮件。所以他们有两个选择:电子邮件或用户名。 我如何在我的代码中做到这一点? 我的UserController@authenticate 提前感谢

  • 我是新的Firebase.我已经建立了一个Firebase实时数据库,如果读写规则设置为true,可以读写它。 我的身份验证有问题。我已经为谷歌和电子邮件加密码设置了身份验证。 我的目标是允许任何用户读取数据,但只有一个用户(我自己)可以在使用单个电子邮件地址和密码登录后写入数据。 如果我用谷歌登录,我可以成功地读写数据库(规则设置为: auth!=null)。 如果使用电子邮件地址和密码登录,我

  • 电子邮件验证+电子邮件/密码验证的使用不适用于在用户开始使用服务之前绝对需要电子邮件验证的服务。 让我用Google sign in First的一个例子来解释。 首先,用户登录他们的Google帐户(比如电子邮件是),并授权您的应用程序。然后使用通过它接收到的令牌创建一个凭据,并与Firebase交换这些令牌以将用户登录到Firebase。用户需要存在于Firebase中,您才能使用Fireba

  • 客户已创建密钥存储库并存储凭据。为了验证密钥存储库,我已经在节点中创建了应用程序,并使用客户端id和客户端机密,我能够读取机密。但是现在客户不想使用客户id和客户机密,而是使用AZURE的用户名和密码来访问程序中的keyvault。它是一个没有MFA的keyvault访问的专用用户。 我不确定我们是否可以从节点JS使用用户名和密码访问keyvault。敬请建议。 谢谢

  • 我正在开发一个带有Firebase内置电子邮件/密码验证系统的基本消息应用程序。我想在生成的authData负载中添加一个键值“username”选项,作为不是用户电子邮件地址的消息作者标识符。 我已经从头到尾阅读了所有帐户的官方留档,如果您要将自定义数据添加到AuthData,则想法是迁移到自定义令牌身份验证系统,但我真的希望保持现有的身份验证系统不变,除非我可以继续使用已驻留在Firebase