在 Firebase 3 中为 Android 更改用户的 email/password 时出错

Get error Changing a user's email/password in Firebase 3 for Android

我正在寻找更改 Android 的电子邮件和密码的新方法的错误,但我似乎找不到任何东西。有人能指出我正确的方向吗?

官方文档对此并不清楚

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String newPassword = "SOME-SECURE-PASSWORD";

user.updatePassword(newPassword)
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "User password updated.");
                }
            }
        });

https://firebase.google.com/docs/auth/android/manage-users#set_a_users_password

回调使用 Google Play 服务中的新 Task class。有两种捕获错误的方法:

  1. 使用 addOnCompleteListener,检查 isSuccessful,如果失败则检查 getException 的 return。
  2. 使用 addOnSuccessListeneraddOnFailureListener。后一个回调将包含带有错误的 Exception

每个方法的参考文档中记录了实际的异常 returned。例如,updatePassword 可能会失败:

  • FirebaseAuthWeakPasswordException 如果密码不够强则抛出
  • FirebaseAuthInvalidUserException 如果当前用户的帐户已被禁用、删除或其凭据不再有效则抛出
  • FirebaseAuthRecentLoginRequiredException 如果用户上次登录时间不符合安全阈值则抛出。使用reauthenticate(AuthCredential)解决。如果用户是匿名的,则这不适用。