- Когда я отзываю доступ к аккаунту, на странице Firebase Auth Google < strong>все еще существует в качестве поставщика аутентификации. Я все еще могу войти в свое приложение с учетной записью, которую я только что отозвал. Итак, что именно делает Отзыв доступа к аккаунту?
- Когда я отсоединяю свой аккаунт Google от Firebase Auth, Google нет в качестве поставщика аутентификации. Однако я по-прежнему могу войти в систему, используя ту же учетную запись Google, и иметь доступ к той же учетной записи Firebase Auth! Почему это происходит, даже если учетная запись Google отключена? Конечно, ему следует создать новую учетную запись, поскольку у него не должно быть доступа к старой несвязанной учетной записи? Так что же делает Отвязка, если они по-прежнему могут войти в систему, используя отключенную учетную запись Google?
Единственный способ создать новую учетную запись в Firebase Auth, используя ту же учетную запись для входа в Google, — это удалить старую учетную запись. Здесь возникает мой третий вопрос. - Если мой пользователь вошел в систему, используя свою учетную запись Google, чтобы войти в свою первую в моем приложении, и они захотят отсоединить свою учетную запись Google для входа в свою первую учетную запись, чтобы создать вторую< /strong> и свяжите ту же учетную запись Google с этой второй учетной записью. Однако возможно ли это, если пользователь не хочет удалять свою первую учетную запись? Поскольку возникает эта ошибка, com.google.firebase.auth.FirebaseAuthUserCollisionException: эти учетные данные уже связаны с другой учетной записью пользователя.. Итак, можно ли полностью удалить учетные данные из первой учетной записи, не удаляя ее?
mAuth.getCurrentUser().unlink("google.com").addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
updateUI(mAuth.getCurrentUser());
}
});
Код для отзыва (из строки 171: https://github.com/firebase/quickstart- ... /java/com/ google/firebase/quickstart/auth/java/GoogleSignInActivity.java):
// Firebase sign out
mAuth.signOut();
// Google revoke access
mGoogleSignInClient.revokeAccess().addOnCompleteListener(this,
new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
updateUI(null);
}
});
Подробнее здесь: https://stackoverflow.com/questions/654 ... ication-do
Мобильная версия