Java 具有自定义用户名的Firebase登录用户

Java 具有自定义用户名的Firebase登录用户,java,android,firebase,firebase-realtime-database,firebase-authentication,Java,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我正在开发一个Android应用程序,其中用户使用Firebase电子邮件登录,密码验证方法。在使用电子邮件和密码注册用户的同时,我还在firebase实时数据库中推送其他用户配置文件数据,如用户名、号码地址等。 我想问的是,除了Firebase要求使用电子邮件和密码登录之外,登录时是否可能使用此选项?我是否可能使用用户名而不是电子邮件,密码应与我在注册电子邮件和密码时输入的相同 这里棘手的部分是用户名保存在数据库中,但是密码不是我们所知道的,在使用电子邮件和密码注册时,数据库中不会保存任何内容

我正在开发一个Android应用程序,其中用户使用Firebase电子邮件登录,密码验证方法。在使用电子邮件和密码注册用户的同时,我还在firebase实时数据库中推送其他用户配置文件数据,如用户名、号码地址等。 我想问的是,除了Firebase要求使用电子邮件和密码登录之外,登录时是否可能使用此选项?我是否可能使用用户名而不是电子邮件,密码应与我在注册电子邮件和密码时输入的相同

这里棘手的部分是
用户名
保存在数据库中,但是
密码
不是我们所知道的,在使用电子邮件和密码注册时,数据库中不会保存任何内容。 我将通过查询获取用户名

ref.child("credentials").orderByChild("usernames").equalTo(username).addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                // **here how should I match that this username is of same user with email and password**

                }

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
但在密码字段中,我想键入注册时随电子邮件输入的密码,该密码未保存在DB中,因此如何获取该密码,并相应地与每个用户名匹配,以确定其是否具有相同的用户名

我想问的是,除了firebase要求使用电子邮件和密码登录之外,登录时是否可能使用用户名而不是电子邮件和密码

否,当用户是新用户,首次登录时,将存储用户提供的凭据(电子邮件和密码)。您可以在Firebase控制台的身份验证部分看到这一点。为了登录,用户需要使用数据库中存在的完全相同的凭据。您无法使用用户名登录。如果您需要这样的功能,您应该自己编写代码,这样可以处理整个身份验证过程,但恕我直言,我不建议这样做