gpt4 book ai didi

ios - 如何知道用户是否正在注册或登录 Facebook 和 Firebase

转载 作者:行者123 更新时间:2023-11-28 09:35:40 25 4
gpt4 key购买 nike

<分区>

我发现很难将登录逻辑与注册逻辑分开,因为 firebase 只有一种方法可以通过 Facebook 对用户进行身份验证:signIn(with: AuthCredential)。这种方法将登录现有用户,或者如果他们不存在则自动注册他们,所以我无法知道用户是第一次注册所以我可以保留有关的附加信息firebase 数据库中的用户。

非常感谢任何解决此问题的帮助。我的应用程序是用 Swift 编写的,因此任何带有代码的解决方案在 Swift 中都是最有帮助的。谢谢

查看回调内的评论

private func rx_firebaseLogin(with credential: AuthCredential, userInfo: [String: AnyObject]) -> Observable<[String: AnyObject]> {

return Observable<[String: AnyObject]>.create { observable in

Auth.auth().signIn(with: credential) { (user, error) in

// IF user is already authenticated, User will get signed in automatically.
// IF user is new, that user will automatically get signed up.
// So I cannot put code here to save user info in db because I could potentially just be signing in a user, and end up duplicating a pre-existing user.

guard error == nil else {
observable.onError(AuthError.custom(message: error!.localizedDescription))
print(error!.localizedDescription)
return
}

guard user != nil else {
observable.onError(AuthError.invalidFirebaseUser)
print("debugger: error logging user")
return
}

var data = userInfo
data[Constant.id] = user!.uid as AnyObject

observable.onNext(data)
observable.onCompleted()
}
return Disposables.create()
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com