我有一個公共網路應用程式,它對用戶/身份驗證沒有應用程式邏輯需求,但這確實依賴于 Firebase 后端功能,例如云功能和 Firestore。
鑒于此,創建匿名用戶仍然是最佳做法嗎?我很難看到好處。如果我創建匿名用戶,我可以限制他們的呼叫,但這似乎很容易繞過,我寧愿不限制普通用戶,同時仍然為邪惡的人敞開大門。
在確實需要用戶、注冊、付款等的應用程式中,我通常以類似的方式開始功能,沒有if (context.auth && context.auth.user.isSubscribed) { // run app logic }這些感覺有點赤裸裸——但如果這不是安全失誤,我會很高興跳過它。
如果我擁有真正的公共云功能,我的底線擔憂是突然的巨額成本,但也許這是沒有根據的。
uj5u.com熱心網友回復:
使用匿名身份驗證將資料與用戶持久關聯,而無需了解有關該用戶的任何可識別資訊。因此,一個典型的例子是允許用戶在登錄之前將一些東西放入購物車。使用匿名身份驗證允許您將購物車與用戶關聯并安全訪問它,而無需用戶輸入憑據。
如果您不需要將資料與用戶關聯,通常沒有理由匿名登錄。
只是匿名簽署用戶(與半流行的看法相反)不是一種安全措施。正如您已經說過的:任何人都可以呼叫 API 進行登錄,因此僅要求某些人登錄并不能阻止濫用行為。
但是,在您的示例中context.auth.user.isSubscribed,用戶還需要提出isSubscribed索賠。這種宣告通常只能由有權訪問您的專案管理憑據的人設定,因此這種檢查是一種有用的安全措施。事實上,這就是我一開始所說的,一段你一直想要與用戶關聯的資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/465508.html
