手动删除连接到我的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)
1 回答
删除帐户不会自动使该帐户的当前会话失效 . 他们当前的 Session 将一直有效,直到他们到期 . 您可以在Firebase信息中心中设置会话到期间隔 .
如果您想force the user to be logged out,请拨打
ref.unauth()
.但一般而言,您可能希望构建授权规则,以防止具有已删除帐户的有效令牌的用户对数据进行更改 .
如果将用户配置文件保留在数据库中,则可以检查该记录是否仍存在于安全规则中:
root.child('users').child(auth.uid).exists()
.另见:
Firebase authentication not revoked when user deleted?
Deletion of User in firebase does not trigger onAuth method