我正在构建一个iOS应用,并且正在使用Firebase来存储数据。我设置了Firebase身份验证。我想允许用户直接从我的应用程序中删除其整个帐户。如果Firebase已有一段时间未登录,则要求用户重新验证其帐户。我正在尝试实现重新认证方法,但是我遇到了麻烦。 Firebase的文档没有提供足够的详细信息来说明如何重新验证用户。
我试图在一个函数中实现reauthentication
方法。我试图通过用户点击以删除其帐户的按钮调用该功能。但是,我收到一个错误。
无法将类型'(_)->()'的值转换为预期的参数类型'AuthDataResultCallback? (aka'可选<(可选,可选)->()>')
func reAuthUser() {
let user = Auth.auth().currentUser
var credential: AuthCredential
// Prompt the user to re-provide their sign-in credentials
performSegue(withIdentifier: "signOut", sender: self)
user?.reauthenticate(with: credential) { error in
if let error = error {
// An error occurred.
} else {
// User re-authenticated.
}
}
}
我希望能够通过将用户发送到应用程序中的另一个视图控制器来重新认证用户,但是它无法正常工作。如何正确重新验证用户身份,以避免出现任何当前和将来的问题?