我對Firebase很陌生,所以請原諒基本知識的缺乏。我正在評估它的一個項目。使用來自Google API的數據返回進行授權
Firebase很好地處理Google身份驗證。但是,基於從Google API返回的信息授權用戶的情況如何? Firebase如此嚴重的客戶端時,如何才能做到這一點?
例如,假設我想根據Google圖書API確認用戶是否擁有圖書來限制對Firebase數據的訪問。我知道我可以以後這樣的數據傳遞到令牌AUTH-ING用戶(這是半僞代碼):
ref.child("users").child(authData.uid).set({
provider: authData.provider,
ownsBook: getBookInfo.ownsBook()
});
我想用「ownsBook」參數來決定是否不是用戶可以訪問Firebase數據,但由於這一切都必須發生在客戶端,那麼如何阻止某人通過JS控制檯手動覆蓋它?
您通常會如何在Firebase中進行類似的操作?
謝謝。我對這些限制是如何工作的相當熟悉,但我不確定安全性如何獲得並將「booksOwned」數據保存到Firebase。對於服務器端應用程序,這通常很容易,因爲用戶無法訪問服務器端代碼,但我不確定如何繼續使用Firebase(客戶端應用程序)。 –
我可能會這樣做「服務器端」的過程。但請不要高估這有多困難:如果您堅持使用JavaScript,您只需編寫一個單獨的腳本,使用硬編碼憑據或Firebase儀表板中的祕密。您可以在node.js中運行該腳本,甚至可以在家用臺式機上的瀏覽器選項卡中運行該腳本。它不像在服務器上運行那麼有彈性,但在開發過程中會完成同樣的事情。 –
謝謝,弗蘭克!服務器端似乎是在這種情況下要走的路。 –