我有帐户管理员,另一个帐户想要重置密码,流程如下,
用户A重置密码>发送电子邮件给管理员>管理员重置密码>管理员发送新密码给用户A(通过电子邮件)>用户A使用管理员的新密码登录..我可以这样做,告诉我示例源代码 java 。谢谢
resetPass.setOnClickListener(view -> {
String userMail = resetEmail.getText().toString();
if (TextUtils.isEmpty(userMail)) {
Toast.makeText(ForgotPassActivity.this, "Please write your valid address first", Toast.LENGTH_SHORT).show();
}
else {
auth.sendPasswordResetEmail(userMail).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ForgotPassActivity.this, "Please check your email account", Toast.LENGTH_SHORT).show();
startActivity(new Intent(ForgotPassActivity.this, Log_inActivity.class));
} else {
Toast.makeText(ForgotPassActivity.this, "Email not found, please try again.", Toast.LENGTH_SHORT).show();
}
}
});
}
});
最佳答案
Firebase 身份验证仅允许向当前登录的用户发送密码重置电子邮件。您无法向其他用户发送密码重置电子邮件,因为这会使系统容易被滥用。
要实现您所描述的流程,您需要实现自己的电子邮件发送和密码重置。您可以使用 Firebase Admin SDK处理它的 Firebase 方面( get the user 、 update password ),但需要找到另一个系统来发送电子邮件,并实现您自己的验证码。
关于java - 为管理员 Firebase Android 创建重置密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62389441/