sendPasswordResetEmail 即使用户不存在也会发送电子邮件

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

如何检查电子邮件地址是否存在,只有存在才发送电子邮件。此时,即使输入的电子邮件地址未分配给注册帐户,也会发送电子邮件(task.isSuccessful() 返回始终为 true)。

fAuth = FirebaseAuth.getInstance();
fAuth.sendPasswordResetEmail(email.getEditText().getText().toString()).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                NewFragment newFragment = new NewFragment();
                loadFragment(newFragment);
            } else {
                email.setError(getString(R.string.email_not_assigned));
            }
        }
    });
android firebase firebase-authentication
1个回答
0
投票

对于 2023 年 9 月 15 日以来创建的项目,Firebase 现在默认启用“针对枚举攻击的保护”。这种保护的一部分是某些 API 的行为不同,以禁止此类攻击。 sendPasswordResetEmail 就是这样一个 API,就好像它的行为如您所愿,它可用于枚举项目中的电子邮件地址。

您的选择是寻找另一种方法来实现该功能,或者为您的项目

禁用针对电子邮件枚举攻击的保护。

© www.soinside.com 2019 - 2024. All rights reserved.