javascript 使用Firebase UI时,如何在Firebase中重新验证用户?

yrwegjxp  于 2023-01-07  发布在  Java
关注(0)|答案(1)|浏览(144)

我有一个Firebase Web应用程序,我正在使用predefined UI登录用户。
我在删除用户时遇到问题,因为我收到一个错误,即用户必须在最近重新进行身份验证,然后才能删除其帐户。
我看到有解决方案的人谁管理自己的身份验证流,但没有为Firebase UI。
https://firebase.google.com/docs/auth/web/manage-users#re-authenticate_a_user
如果我想坚持使用预构建的UI,那么我可能会让用户退出并重新登录,这将是一个痛苦的过程,否则我可能必须为登录创建特性。

ogq8wdun

ogq8wdun1#

要在使用预建UI时在Firebase中重新验证用户,可以执行以下步骤:
在您的应用中,调用FirebaseAuth.instance.currentUser()方法获取当前用户。如果当前用户不为null,则对用户对象调用reauthenticateWithCredential方法,为用户传递适当的凭据。例如,如果用户使用电子邮件和密码登录,则可以使用EmailAuthProvider凭据重新验证用户。
例如

FirebaseUser user = FirebaseAuth.instance.currentUser();
if (user != null) {
  EmailAuthCredential credential = EmailAuthProvider.credential(
    email: user.email,
    password: password
  );
  user.reauthenticateWithCredential(credential).then((value) {
    // User re-authenticated successfully
  }).catchError((error) {
    // An error occurred while re-authenticating the user
  });
}

如果用户重新验证成功,则执行reauthenticateWithCredential方法返回的Future的then块;如果重新验证用户时出错,则执行catchError块。

相关问题