Вход в Firebase с пользовательским именем - PullRequest
0 голосов
/ 03 марта 2020

Я разрабатываю приложение Android, в котором пользователь входит в систему, используя Firebase Email, метод аутентификации по паролю. При регистрации пользователей с помощью электронной почты и пароля я помещаю в базу данных реального времени Firebase и другие данные профиля пользователя, такие как имя пользователя, номер телефона и т. Д. c. Что я хочу спросить: возможно ли это при входе в систему, кроме того, что Firebase просит использовать адрес электронной почты и пароль для входа в систему? Возможно ли это, чтобы я использовал имя пользователя вместо адреса электронной почты и пароль должен совпадать с тем, который я ввел при регистрации по электронной почте, пароль .

Здесь сложная часть: username сохраняется в БД, но password не так, как мы знаем при регистрации по электронной почте и паролю, в БД ничего не сохраняется. Я получу имя пользователя по запросу.

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) {

            }
        });

Но в поле пароля я хочу ввести пароль, который я ввел с электронной почтой при регистрации, и который не сохраняется в БД, так как я должен его получить и соответствует каждому имени пользователя соответственно тому, что оно того же имени или нет.

1 Ответ

1 голос
/ 03 марта 2020

То, что я хочу спросить, возможно ли это при входе в систему, кроме того, что Firebase запрашивает использование электронной почты и пароля для входа в систему, возможно ли, что я использовал имя пользователя вместо электронной почты и пароля

Нет, когда пользователь новый, впервые входит в систему, учетные данные (адрес электронной почты и пароль), предоставленные пользователем, сохраняются. Вы можете увидеть это в консоли Firebase, в разделе аутентификации. Для входа в систему пользователь должен использовать те же учетные данные, которые существуют в базе данных. Вы не можете войти в систему с именем пользователя. Если вам нужны такие функциональные возможности, вы должны написать код самостоятельно, который может обрабатывать весь процесс аутентификации, но имхо, я не рекомендую этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...