删除后 Firebase 仍在检索 authData
Firebase still retrieving authData after deletion
在我手动删除连接到我的 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)
删除帐户不会自动使该帐户的当前会话过期。他们当前的会话将一直有效,直到他们到期。您可以在 Firebase 仪表板中设置会话过期间隔。
如果您想 force the user to be logged out,请致电 ref.unauth()
。
但一般来说,您可能希望建立授权规则,以防止具有有效令牌的此类用户从已删除的帐户中更改数据。
如果您将用户资料保存在您的数据库中,您可以检查该记录是否仍然存在于您的安全规则中:root.child('users').child(auth.uid).exists()
。
另见:
- Firebase authentication not revoked when user deleted?
在我手动删除连接到我的 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)
删除帐户不会自动使该帐户的当前会话过期。他们当前的会话将一直有效,直到他们到期。您可以在 Firebase 仪表板中设置会话过期间隔。
如果您想 force the user to be logged out,请致电 ref.unauth()
。
但一般来说,您可能希望建立授权规则,以防止具有有效令牌的此类用户从已删除的帐户中更改数据。
如果您将用户资料保存在您的数据库中,您可以检查该记录是否仍然存在于您的安全规则中:root.child('users').child(auth.uid).exists()
。
另见:
- Firebase authentication not revoked when user deleted?