Firebase Отключить регистрацию нового пользователя - PullRequest
0 голосов
/ 31 октября 2018

В настоящее время я использую интерфейс авторизации Firebase для входа в систему моих пользователей. Чего я хочу добиться, так это разрешить вход только тем пользователям, которые уже создали свою учетную запись. Я хочу, чтобы Firebase auth ui отключал регистрацию учетной записи всякий раз, когда новые учетные данные пытаются войти в систему. Скажите, пожалуйста, как этого добиться.

Вот как я могу войти в свои пользователи:

  if(FirebaseAuth.getInstance().getCurrentUser()==null) {
        List<AuthUI.IdpConfig> idpConfigList = Arrays.asList(
                //new AuthUI.IdpConfig.EmailBuilder().build(),
                new AuthUI.IdpConfig.GoogleBuilder().build(),
                new AuthUI.IdpConfig.PhoneBuilder().build()
        );
        startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder()
                .setAvailableProviders(idpConfigList).build(), SIGN_IN_CONST);
    }else {
        currentUser=FirebaseAuth.getInstance().getCurrentUser();
        onSignedIn();
    }

Заранее спасибо.

1 Ответ

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

Чего я хочу добиться, так это разрешить вход только тем пользователям, которые уже создали свою учетную запись.

Это то же самое, если вы хотите проверить, является ли пользователь новым. Чтобы решить эту проблему, вы можете просто вызвать AdditionalUserInfo интерфейс isNewUser () метод:

Возвращает, является ли пользователь новым или существующим

Поэтому, пожалуйста, используйте следующие строки кода:

mAuth.signInWithCredential(credential).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
        boolean isNewUser = task.getResult().getAdditionalUserInfo().isNewUser();
        if (isNewUser) {
            Log.d(TAG, "Is New User!"); //Restrict the authentication process
        } else {
            Log.d(TAG, "Is Old User!"); //Allow user to authenticate
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...