0

僅將Firebase作爲數據庫用於應用程序。將Firebase作爲後端數據庫用於移動應用程序

我想使用Firebase存儲全球用戶的全球數據。用戶認證不需要訪問這些數據。

因此,所有用戶將能夠訪問相同的數據。例如,「新聞文章」對所有用戶都是一樣的。用戶無需認證即可訪問該新聞。

如何設置android應用程序以安全地訪問所有用戶的Firebase數據?

通過「安全」,我的意思是我不想包證書與應用程序訪問數據庫。否則,任何人都可以訪問數據並擦除它或損壞它。

基於快速調查,我發現可能有2種方式:

  1. 火力地堡REST API 使用火力地堡REST APIservice account token訪問火力地堡數據。

  2. Firebase身份驗證 使用其中一個身份驗證模式。例如使用email & password authcustom authcustom token。 我會假設他們都要求我將密碼或令牌與應用程序捆綁在一起。

已經有人設計了這樣的使用情況的應用程序?任何指針將不勝感激。

+0

簡答:對於此用例,「app-as-user」,不可能避免捆綁用於訪問Firebase實例的憑證。 _(請參閱接受的答案中的評論)_ –

回答

1

Firebase Authentication不需要捆綁任何東西。您的用戶提供自己的憑據。設備上的Google Play服務提供的安全性是,只有您的應用使用您的簽名密鑰簽名才能接收授權用戶對您通過安全規則決定的數據執行操作的令牌。

+0

感謝Doug提供的信息。對於這個用例,我將應用程序本身視爲從Firebase訪問數據並向最終用戶展示的用戶。因此,在這種情況下,由於我必須爲此應用創建特殊用戶才能訪問數據,因此我需要綁定這些憑據才能訪問Firebase實例。什麼是REST API的理想用例,何時會有人使用該選項? –

+1

沒有辦法保護對「只是你的應用程序」的訪問權限,而無需將你的應用程序轉變爲用戶(並因此在那裏編碼憑證)。請參閱http://stackoverflow.com/questions/18005984/how-to-prevent-other-access-to-my-firebase。要訪問Firebase數據庫,您需要允許公開閱讀權限('「.read」:true')或對用戶進行簽名(通過他們的帳戶或[匿名](https://firebase.google.com /文檔/認證/安卓/匿名驗證))。 –

+0

感謝您的確認。我希望有更好的辦法。我瞭解Firebase並非專爲此用例而設計。我會嘗試先修改REST API並接受Doug的回答,人們應該能夠從評論中找到實際答案。 –

相關問題