Firebase身份验证:如何获取当前用户的密码?

问题描述 投票:1回答:1

我是firebase身份验证的新手..所以,我正在创建一个带有个人资料的基本应用程序,我已经开始编辑用户的基本信息,如DisplayNameEmail ...,我不想添加更改密码的能力,但首先,我不想检查当前用户的密码,并将其与String中的InputEditText进行比较,用户在更改密码之前必须知道他当前的密码。

编辑:我问的是我要求用户写他当前的Password,以便能够将其更改为新的,以减少黑客或类似的东西,如Facebook,当你试图改变EmailPassword甚至Name它会询问您当前的Password

java android firebase firebase-authentication
1个回答
4
投票

来自Firebase documentation

某些安全敏感操作(例如删除帐户,设置主电子邮件地址和changing a password)要求用户最近登录。

如果您执行其中一个操作,并且用户很久以前已登录,则操作将失败并抛出FirebaseAuthRecentLoginRequiredException。发生这种情况时,通过从用户获取新的登录凭据并将凭据传递给reauthenticate来重新验证用户身份。例如:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

// Get auth credentials from the user for re-authentication. The example below shows
// email and password credentials but there are multiple possible providers,
// such as GoogleAuthProvider or FacebookAuthProvider.
AuthCredential credential = EmailAuthProvider
    .getCredential("[email protected]", "password1234");
// 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.");
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.