java - 为管理员 Firebase Android 创建重置密码

标签 java android firebase-authentication

我有帐户管理员,另一个帐户想要重置密码,流程如下,

用户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 userupdate password ),但需要找到另一个系统来发送电子邮件,并实现您自己的验证码。

关于java - 为管理员 Firebase Android 创建重置密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62389441/

相关文章:

java - 如何为 listView 上的项目设置绝对位置?

java - 表名 "condition"的 MySQLSyntaxErrorException

javascript - 使用 React Router 将 Firebase Auth 用户发送到组件

Firebase - 防止机器人大量注册

java - 同步方法重写 - 线程获取哪个对象的锁?

Java: equalsIgnoreCase + message.startswith?

Android - 如何从 JavaScript 生成触摸事件?

Android - 方向更改后 GridView 图像无法正确显示

java - GSON 中的动态 JSON 数据对象

android - "Error: The given sign-in provider is disabled for Firebase project."但我启用了 firebase google auth