【发布时间】:2020-09-09 09:27:55
【问题描述】:
更新问题
我正在尝试手动检查是否必须重新验证用户身份。这是我想出的:
//MARK: updateEmail
static func updateEmail(email: String, finished: @escaping (_ done: Bool, _ hasToReauthenticate: Bool) -> Void) {
let currentUser = Auth.auth().currentUser
currentUser?.updateEmail(to: email) { err in
if err != nil {
if let errCode = AuthErrorCode(rawValue: err!._code) {
switch errCode {
case .userTokenExpired:
print("expired")
finished(true, true)
break
default:
Utilities.showErrorPopUp(labelContent: "Fehler", description: err!.localizedDescription)
finished(false, false)
}
}
} else {
finished(true, false)
}
}
}
但这永远不会通过.userTokenExpired 案例,即使它应该..我在这里错过了什么?
【问题讨论】:
-
这样的 API 不存在。你期望它做什么?你会在哪里使用这个 API?是什么阻止您在应用程序代码中实现它?
-
@FrankvanPuffelen 我将如何实现它?:D 在我的应用程序中,用户可以编辑/删除其个人资料。只有当他真的需要重新认证时,我才想用登录视图提示用户
-
我想到了一个解决方法,我检查错误消息并根据它继续,但我真的不知道我该怎么做
-
Firebase 身份验证中没有返回用户上次身份验证时返回的 API,或者是否是最近。但是由于您的应用程序在用户进行身份验证时进行 API 调用,因此您还可以记录他们这样做的时间,然后检查这对于您的用例来说是否足够新。
-
@FrankvanPuffelen 什么是最近?
标签: ios swift firebase firebase-authentication