[英]Necessity of Firebase Auth ID token validation, even if there are security rules of database?
我在我的游戲項目中使用 Firebase 的匿名登錄身份驗證和實時數據庫 SDK。 玩家使用用戶 ID 進行標識,並且此用戶 ID 永遠不會暴露給客戶端。 此 UserID 也會發送到 firebase RTDB 以更新玩家的信息。 為了確保用戶的寫入權限,我使用 auth 變量為我的數據庫設置了一些安全規則。 我有類似這樣的安全規則:
{ “my_db_path”:{
".write": "auth.= null && $user_id == auth.uid" } }
但是在 Firebase Auth 文檔中,建議使用令牌 ID 對用戶進行身份驗證。 在對這個令牌的使用進行了一些研究之后,我了解到我必須使用Firebase Admin SDK來驗證這個令牌,然后使用這個經過驗證的用戶 ID 在后端對用戶進行身份驗證。 我的問題是,是否有必要驗證 tokenID,即使我有已經使用 auth 的 UserID 檢查客戶端的 UserID 的安全規則?
我已經嘗試將 Firebase Admin SDK 設置到我的 Unity 項目,但我在使用 nuget 包時遇到了一些問題。 所以我想知道,我真的需要驗證令牌並在我的統一項目中使用 Firebase Admin SDK 嗎?
Firebase 安全規則自動驗證客戶端 SDK 提供的令牌。然后用戶的 UID 在規則中作為auth.uid
。 沒有必要在安全規則中使用 Admin SDK,甚至不可能這樣做。
如果您為您的應用程序提供自定義后端並且需要驗證向其發出請求的用戶是否已通過身份驗證,則您只需要 Admin SDK。 Admin SDK 不適用於客戶端應用程序代碼,僅用於后端。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.