【问题标题】:Authorization in Google FirebaseGoogle Firebase 中的授权
【发布时间】:2018-01-24 01:53:52
【问题描述】:

我试图在Angular2 中建立一个网站。该网站从Google firebase 获取部分数据。本网站不获取任何用户登录信息。

现在,我面临以下问题:

我想确保只提供来自我托管网站的请求,例如 abc.com。其他人应该无法使用邮递员等调用 API 端点。

目前,如果我查询 Firebase 网址“https://mywesbite-xxxxx.firebaseio.com/data.json”,则整个数据在任何网络浏览器中都显示为 .json。我希望此链接显示拒绝访问。

【问题讨论】:

  • 您绝对应该使用私人帐户,他们只会让您访问具有特定凭据的授权人员。

标签: angular firebase firebase-realtime-database firebase-authentication angular2-services


【解决方案1】:

查看可以分配数据库的Firebase Security & Rules 是个好主意。

现在我假设您的规则为空或设置为

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

我不相信您可以设置任何东西来检查您的请求是否来自 abc.com,但您可以检查您网站上的 Authenticated Users 以确保他们在访问您的任何信息之前已登录。

还有一个很好的插件可以帮助创建由 Firebase 团队创建的 Firebase 数据库规则。它叫Bolt

【讨论】:

  • 我已经读过了。如果我把read等于true,任何人都可以看到数据。
  • 正确,您需要围绕读取数据定义规则。我认为您无法检查请求来自哪个域,但您可以更好地构建数据以确保只有公共数据可读并将其他所有内容锁定在授权用户请求之后。
猜你喜欢
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 2012-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多