我有帐户管理员和另一个帐户想要重置密码,
用户A重置密码>; 向管理员发送电子邮件>; 管理员重置密码>; admin将新密码发送给用户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方面(获取用户,更新密码),但将需要找到另一个系统来发送电子邮件,并实现您自己的验证代码。