我有一個只使用Google身份驗證的Firebase應用程序。我想根據身份驗證提供程序的uid,向從未使用Firebase項目身份驗證過的用戶訪問數據庫的某些部分。我想使用目錄API檢索Google uid,然後將它們存儲在白名單節點中。在Firebase安全規則中使用提供者uid
whitelist: {
12345678: true,
23456789`: true
},
data: {}
那我就喜歡做這樣的事情在安全規則:
"rules": {
"data": {
".read": "root.child('whitelist/' + auth.providerUid).exists()
}
}
或者是這樣的:
"rules": {
"data": {
".read": "root.child('whitelist/' + auth.providerData[0].uid).exists()
}
}
但有可能訪問提供商UID中安全規則?如果是這樣,這是如何工作的?
爲什麼不能使用'auth.uid'? –
因爲我希望能夠在G Suite用戶使用Firebase應用進行身份驗證之前將其列入白名單。所以我想加入白名單的用戶可能還沒有Firebase uid。 –
有趣。我只見過這種類型的電子郵件地址白名單。與您的方法相比,您是否看到了弊端? –