我有一个只使用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。 –
有趣。我只见过这种类型的电子邮件地址白名单。与您的方法相比,您是否看到了弊端? –