Как проверить, существует ли пользователь в firebase во время аутентификации телефона - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь создать приложение, которое использует только авторизацию телефона из firebase.Поскольку вход / регистрация выполняется через тот же процесс, который проверяет отправленный код.Как я могу проверить, существует ли пользователь в firebase?Мне нужно это, чтобы показать им соответствующий интерфейс пользователя.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Вы можете проверить, существует ли пользователь в Firebase, сравнив его метаданные.см. пример кода:

PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.getCredential(verificationId, smsCode);
            FirebaseAuth.getInstance().signInWithCredential(phoneAuthCredential).addOnCompleteListener(PhoneLoginEnterCodeActivity.this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task){
                    if (task.isSuccessful()) {
                        // Sign in success, update UI with the signed-in user's information
                        FirebaseUser user = task.getResult().getUser();
                        long creationTimestamp = user.getMetadata().getCreationTimestamp();
                        long lastSignInTimestamp = user.getMetadata().getLastSignInTimestamp();
                        if (creationTimestamp == lastSignInTimestamp) {
                            //do create new user
                        } else {
                           //user is exists, just do login
                        }
                    } else {
                        // Sign in failed, display a message and update the UI
                        if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) {
                            // The verification code entered was invalid
                        }
                    }
                }
            });
0 голосов
/ 31 мая 2018

Сейчас единственный способ сделать это - использовать Firebase Admin SDK.Существует API для поиска пользователя по номеру телефона .

admin.auth().getUserByPhoneNumber(phoneNumber)
  .then(function(userRecord) {
    // User found.
  })
  .catch(function(error) {
    console.log("Error fetching user data:", error);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...