2017-02-18 51 views
1

我正在开发一个应用程序,我在其中添加了一个从Firebase中删除用户的功能。我遵循官方文件,但我无法做到。我在控制台中收到警告无法从Firebase中删除用户

错误此操作非常敏感,需要最近的认证。在重试此请求之前再次登录。

这里是我的代码:

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

}

也许有人遇到了类似的问题,告诉我怎么解决”的网站

+0

我留言解释了这条消息的原因当你发布[这完全相同的问题](http://stackoverflow.com/questions/41790469/error-when-deleting-a-user-from-the-database -firebase)几个星期前。如果评论不明确,那么请随时寻求更多帮助。在Stack Overflow上重新发布相同的问题几周后是不可接受的。 –

回答

1

看火力地堡API的文档,你呢?可以看到你的代码在firebase中删除用户最近必须登录。

如果你登录了一段时间,你必须重新验证entication。

这里是如何重新AUTH:

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. 
    } 
}]; 

在安全敏感操作,例如(删除用户,设置密码,设置电子邮件...),则必须重新AUTH第一。