我正在使用 django 和 firebase 构建一个应用程序。我已经构建了我的自定义身份验证系统。而且我需要安全规则,以便只有我通过身份验证的人才能在数据库或存储中读/写。
{
"rules": {
".read": true,
".write": true
}
}
这些是我当前的规则,所以当我请求(在数据库上读取或写入)时,它们是一种传递令牌的方法,该令牌首先被检查。像 ->
{
"rules": {
".write": "isAuthorized == true",
".read": "isAuthorized == true"
}
}
当向数据库发出请求时,例如 - db.child('test').get()
我传递了这个 isAuthorized bool
感谢任何帮助,或者您可以提出更改建议。
答案 0 :(得分:2)
如果您不使用 Firebase Authentication,则无法仅根据您的身份验证方法使用安全规则。您必须使用自己的方式对用户进行身份验证,授予他们可以使用 Admin SDK 生成的 custom token,然后使用该令牌通过 Firebase 身份验证登录。因此,从技术上讲,您不仅使用自己的方式对用户进行身份验证,而且还使用 Firebase 身份验证将他们登录到您的网络应用中。
身份验证流程如下:
signInWithCustomToken()
方法登录。如果您根本不想实现这一点,那么唯一可行的方法是通过将安全规则设置为 false
并通过您的服务器路由所有请求来禁用直接访问您的数据库。对于每个请求,检查用户是否有权访问他们手动请求的资源并为其提供服务。