documentation을 참조하여 사용자를 다시 인증해야합니다.
는 예를 들어 당신은 사용자가 입력 자신의 비밀번호, 이제 그것은`에게 글고 etPassword을 가정 해 봅시다 필드를 가지고, 당신은 볼 것이다 다시 인증 된 SharedPreferences
그래서 코드에서 사용자 이메일이 이 같은
AuthCredential credential = EmailAuthProvider
.getCredential(SharedPreferences.getmail(),etPassword.getText().toString());
// Prompt the user to re-provide their sign-in credentials
user.reauthenticate(credential)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Log.d(TAG, "User re-authenticated.");
if(task.isSuccessful()){
updateUserEmail();
} else {
// Password is incorrect
}
}
});
updateUserEmail 여기서()는
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
user.updateEmail("[email protected]")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "User email address updated.");
}
}
});