簡體   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