Flutter Firebase 身份验证密码重置

PJQ*_*Jag 14 firebase firebase-authentication flutter

我正在尝试在我的应用中使用 Firebase Auth sendPasswordResetEmail() 调用。

在我的身份验证文件中,我声明以下内容:

 Future<void> sendPasswordResetEmail(String email) async {
    return _firebaseAuth.sendPasswordResetEmail(email: email);
  }
Run Code Online (Sandbox Code Playgroud)

我将身份验证传递给我的表单小部件,该小部件接受此密码并在我提交后具有以下 onPressed 功能。

onPressed: () async {
    var response = await checkEmail();
    setState(() {
        this._emailValidator = response;
    });
    if (_formKey.currentState.validate()) {
        _formKey.currentState.save();
        try {
            await widget.auth
                .sendPasswordResetEmail(_email);
        } catch (e) {
            print(e);
        }
    }

},
Run Code Online (Sandbox Code Playgroud)

使用正确的电子邮件运行后,我收到以下控制台消息:

“尝试调用:sendPasswordResetEmail("test@email.com")” 注意:我为此使用了真实的电子邮件。

我已经设置了 Firebase 电子邮件模板系统,但没有收到任何电子邮件。有谁知道我如何进一步解决这个问题或为什么我的电子邮件不起作用?

谢谢!

PJQ*_*Jag 8

我想通了。我没有正确地将身份验证从我的身份验证文件传递到新文件。因此,该方法在 null 上被调用,导致 NoSuchMethodError。

  • 您能否发布更新的代码来帮助其他人,谢谢 (14认同)