Я работаю над приложением Android и использую Аутентификацию Firebase для управления пользователями.
Я создаю анонимную учетную запись для всех новых пользователей, позволяя им свободно бросать приложение. Однако в какой-то момент я попрошу пользователя выполнить вход с помощью входа в Google (на данный момент) и, конечно, я связываю анонимные учетные данные с учетной записью Google.
Вот код (Android-Java):
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(this, googleSignInOptions);
Intent signInIntent = googleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, SIGN_IN_GOOGLE_ARC);
А вот и ссылка:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case SIGN_IN_GOOGLE_ARC:
Task<GoogleSignInAccount> completedTask = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
AuthCredential authCredential = GoogleAuthProvider.getCredential(account != null ? account.getIdToken() : null, null);
firebaseAuth.getCurrentUser().linkWithCredential(authCredential).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
//Do something
}
});
} catch (ApiException e) {
Log.w(TAG, "signInResult:failed code=" + e.getStatusCode());
}
break;
}
}
Код работает нормально, а аккаунты связаны. Меня беспокоит то, что в консоли Firebase я все еще могу найти двух пользователей, разделенных, как вы можете видеть на картинке:
Я уже пытался удалить анонимного пользователя до и после передачи учетных данных, но это, очевидно, не сработало, и я в итоге удалил их обоих, потому что они в основном один и тот же пользователь.
Можно ли как-нибудь удалить анонимную учетную запись после ссылки?