我是新来的火力地堡身份验证..所以,我正在创建一个带有配置文件的基本应用程序,我做了一个活动来编辑用户的基本信息,例如DisplayName
and Email
...,我不想添加更改密码的功能,但首先,我不想检查当前用户的密码并将其与String
从一个InputEditText
用户在更改密码之前必须知道其当前密码。
编辑 :
我要问的是我要求用户写下他当前的Password
为了能够将其更改为新的以减少黑客攻击或类似的事情,例如Facebook
当你试图改变Email
or Password
甚至是Name
它会询问您当前的Password
.
来自Firebase 文档 https://firebase.google.com/docs/auth/android/manage-users#re-authenticate_a_user:
一些安全敏感操作,例如删除帐户、设置主电子邮件地址,以及更改密码 https://firebase.google.com/docs/auth/android/manage-users#set_a_users_password—要求用户最近登录。
如果您执行这些操作之一,并且用户登录时间过长,则该操作将失败并抛出异常FirebaseAuthRecentLoginRequiredException
。发生这种情况时,请通过从用户获取新的登录凭据并传递凭据以重新进行身份验证来重新对用户进行身份验证。例如:
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] /cdn-cgi/l/email-protection", "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.");
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)