我正在开发一个应用程序,我想在其中添加一个从Firebase中删除用户的功能。我按照官方文档,但我不能这样做。我在控制台中收到警告
错误此操作很敏感,需要最近的身份验证。在重试此请求之前再次登录。
这是我的代码:
- (void)deleteUser {
FIRUser *user = [FIRAuth auth].currentUser;
[user deleteWithCompletion:^(NSError *_Nullable error) {
if (error) {
NSLog(@"Error %@", error.localizedDescription);
} else {
NSLog(@"Delete user");
}
}];
}
也许有人遇到过类似的问题,请告诉我如何解决?“
答案 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.
}
}];
在安全敏感操作中,例如(删除用户,设置密码,设置电子邮件...),您必须先重新授权。