【发布时间】:2017-01-10 12:56:26
【问题描述】:
我正在使用以下代码来检测身份验证提供程序并正确注销
static func logOut() {
let auth = FIRAuth.auth()!
let provider = auth.currentUser?.providerID
switch provider! {
case "Facebook": FBSDKLoginManager().logOut()
case "Google": GIDSignIn.sharedInstance().signOut()
case "Twitter": Twitter.sharedInstance().sessionStore.logOutUserID(TWTRAPIClient.withCurrentUser().userID!)
default:
print("Unknown provider ID: \(provider!)")
return
}
try! auth.signOut()
}
但提供者始终是“Firebase”。我究竟做错了什么? 0_o 当我登录推特时,一旦该代码抛出“Facebook”。提前致谢
UPD:是的,我实际上可以将身份验证提供程序存储在 UserDefaults 中,但可能是 Firebase 错误。我正在使用 Firebase SDK 3.5.2
【问题讨论】:
-
FIRAuth.auth()!.signOut()没有成功吗? -
@KhanXc 有效,但我认为这还不够。在 Android 中,它会导致您选择不同的 google 帐户的情况
-
但是为什么我不能得到提供者?如果我在任何情况下都需要它。这是一个错误,或者我做错了什么
标签: ios firebase firebase-authentication swift3