firebase 如何在访问实时数据库的请求中添加身份验证细节?

dkqlctbz  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(128)

我在项目中使用实时数据库,我的安全规则如下:

{
 “rules”: {
 “.read”: “auth != null”,
 “.write”: “auth != null”
 }
}

现在我想从后端服务器读取信息并将其写入数据库,同时我想在访问数据库之前对用户进行身份验证。我将只有一个用户可以访问数据库并更新数据。如何使用firebase身份验证来实现这一点?

6ljaweal

6ljaweal1#

对于服务器端应用程序,可以使用Firebase Admin SDK来绕过任何安全规则。如果只允许服务器访问数据库,可以通过将规则设置为以下内容来阻止公共访问:

{
  "rules": {
    ".read": false,
    ".write": false
  }
}

管理SDK仍然可以访问数据库。但是,请确保服务器端功能只能由授权用户访问,并且没有API在没有任何验证的情况下公开。
如果您想使用Client SDK,则必须先使用Firebase Auth SDK登录,然后才能向数据库发出请求,并允许确保安全规则允许您的用户读/写,例如:

{
  "rules": {
    ".read": "auth.uid == 'your_uid'",
    ".write": "auth.uid == 'your_uid'"
  }
}

相关问题