代码之家  ›  专栏  ›  技术社区  ›  MAA

重新验证用户会将其注销

  •  0
  • MAA  · 技术社区  · 1 年前

    这是在firebase身份验证删除之前对用户重新进行身份验证的代码。

     final user = FirebaseAuth.instance.currentUser!;
    
     AuthCredential cred = EmailAuthProvider.credential(
        email: email,
        password: password,
     );
     UserCredential userCredential =
          await user.reauthenticateWithCredential(cred);
     
     // await userCredential.user?.delete(); commented out to test the reauthentication exceptions
    

    当我用正确的电子邮件和错误的密码进行测试时,我会得到一个错误,应用程序很好。

    但当我用错误的电子邮件测试它时,当我再次按下按钮时,由于当前用户为空,应用程序崩溃。

    当我重新启动应用程序时,我会返回到登录页面。所以它注销了当前用户。为什么?

    1 回复  |  直到 1 年前
        1
  •  1
  •   Frank van Puffelen    1 年前

    使用不同的电子邮件地址登录意味着您使用不同的帐户登录。显然,即使新登录失败,也会注销当前帐户。

    如果您不想将当前用户注销,请考虑 using a separate FirebaseApp object for each user 。那里没有代码示例,但您应该能够使它基于其他语言和 reference docs for Flutter .