在我手动删除连接到我的 iPhone 模拟器所在的 uid 的帐户(从 firebase 仪表板)后,当我运行下面的代码时,它仍然以某种方式进行身份验证并检索 uid。这怎么可能?
let ref = Firebase(url: "https://moviebuffapp.firebaseio.com/")
override func viewDidLoad() {
super.viewDidLoad()
if ref.authData != nil {
let uid = ref.authData.uid
print(uid)
最佳答案
删除帐户不会自动使该帐户的当前 session 过期。他们当前的 session 将保持有效,直至过期。您可以在 Firebase 控制面板中设置 session 过期间隔。
如果你想force the user to be logged out ,调用 ref.unauth()。
但一般来说,您可能希望构建授权规则,以防止此类拥有已删除帐户中的有效 token 的用户更改数据。
如果您将用户配置文件保留在数据库中,您可以检查该记录是否仍然存在于您的安全规则中:root.child('users').child(auth.uid).exists()
.
另请参阅:
关于Firebase 删除后仍在检索 authData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960546/