2017-03-04 47 views
0

我的問題是我的項目有2個應用程序。一個應用程序只運行在我們知道的特定移動設備上,它不需要驗證就可以與Firebase進行交互。另一個在許多移動設備上運行,它必須登錄到Firebase才能相互通信。Firebase:爲同一項目中的每個應用程序定製認證

那麼,我想要做的是如何在Firebase中配置數據庫規則到2個應用程序可以使用相同的數據庫?非常感謝大家!爲我的壞英語道歉。

+0

在firebase數據庫中設置該設備的唯一設備ID並給出該ID權限。 –

+0

感謝您的建議。但我仍然沒有找到在Firebase數據庫中設置該設備唯一設備ID的方法。你可以幫我嗎?我正在爲我的最終論文工作。非常感謝你 –

回答

0

無法保護數據庫訪問權限以允許特定的應用程序或特定設備。見How to prevent other access to my firebase

但是如果您使用Firebase身份驗證,則可以輕鬆將設備映射爲屬於特定用戶。如果您不想要求用戶登錄,則甚至可以使用匿名身份驗證。通過Firebase身份驗證,每個用戶都有一個唯一的用戶ID(Firebase條款中的UID)。當你知道用戶的UID時,你可以基於該UID保護對數據庫的訪問。

從最近的一個項目一個例子:

{ 
    "rules": { 
    ".read": true, 
    ".write": "auth != null && 
       root.child('config/whitelist').child(auth.uid).exists()" 
    } 
} 

所以在這裏,我們允許寫,如果登錄用戶的UID是一個節點/config/whitelist下存在。例如。

config 
    whitelist 
    "jn0BrHQqUEYSjqvqfqzbJTMOlZ82": true 
    "ytEtWqOfLkRk3OUjTKBtZnTehZc2" true 
相關問題