繁体   English   中英

Firebase Authentication ( Email & Password ) 如何查看现有用户

[英]Firebase Authentication ( Email & Password ) how to check existing user

我在我的应用程序中使用 Firebase Auth。 我在onStart()中编写了代码。

private fun checkLogged() {
    if (Firebase.auth.currentUser != null) {
        startActivity(Intent(this@LoginActivity, MainActivity::class.java))
        finish()
    } else {
        auth.signOut()
    }
}

但是当我在控制台中禁用或删除该用户时,它仍然处于登录状态。如何正确编辑代码?

当用户使用 Firebase 成功登录后,它会收到一个有效期约为一个小时的令牌。 如果您在 Firebase 控制台禁用用户,并不意味着访问也受到限制。 不,用户仍然可以访问大约一个小时。 这段时间过后,需要刷新之前生成的令牌,但由于用户帐户被禁用,操作将失败。 禁用的帐户无法获得新令牌。 因此,在访问权限被自动撤销之前,用户仍然可以访问。

如果你想在令牌过期之前删除该访问权限,那么你应该考虑保留一个额外的“禁止”UID 列表并随着时间的推移维护它。 例如,您可以在Firestore文档中保留一个全局的 bannedUID 数组,并将 UID 添加到该数组中。 然后,在您的安全规则中,您可以检查该特定 UID 是否被禁止。 如果该 UID 存在于该数组中,则 Firebase 服务器将拒绝该操作,否则,它可以继续使用您的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM