从firebase删除用户是不可能的

时间:2017-02-18 22:40:19

标签: ios objective-c firebase firebase-authentication

我正在开发一个应用程序,我想在其中添加一个从Firebase中删除用户的功能。我按照官方文档,但我不能这样做。我在控制台中收到警告

  

错误此操作很敏感,需要最近的身份验证。在重试此请求之前再次登录。

这是我的代码:

- (void)deleteUser {
   FIRUser *user = [FIRAuth auth].currentUser;
   [user deleteWithCompletion:^(NSError *_Nullable error) {
      if (error) {
          NSLog(@"Error %@", error.localizedDescription);
      } else {
          NSLog(@"Delete user");
      }
   }];

}

也许有人遇到过类似的问题,请告诉我如何解决?“

1 个答案:

答案 0 :(得分:2)

在网站上查看Firebase api的文档,您可以看到删除firebase中用户的代码最近必须登录。

如果您登录了一段时间。你必须重新认证。

这是如何重新认证:

FIRUser *user = [FIRAuth auth].currentUser;
FIRAuthCredential *credential;

// Prompt the user to re-provide their sign-in credentials

[user reauthenticateWithCredential:credential completion:^(NSError *_Nullable error) {
  if (error) {
    // An error happened.
  } else {
    // User re-authenticated.
  }
}];

在安全敏感操作中,例如(删除用户,设置密码,设置电子邮件...),您必须先重新授权。