部署Firebase项目时获得“权限被拒绝”

时间:2018-07-14 12:46:39

标签: angular firebase firebase-cli

我有一个简单的Angular项目,可以在本地服务器上正常工作,但是当我尝试使用firebase deploy --debug将其部署到Firebase时,出现错误:

database: checking rules syntax...
[2018-07-14T12:39:49.428Z] >>> HTTP REQUEST PUT https://fir-demo-project.firebaseio.com/.settings/rules.json?dryRun=true
 {
  "rules": {
    ".read": true,
    ".write": true
  }
}
 Sat Jul 14 2018 15:39:49 GMT+0300 (RTZ 2 (зима))
[2018-07-14T12:39:50.236Z] <<< HTTP RESPONSE 401 server=nginx, date=Sat, 14 Jul 2018 12:39:49 GMT, content-type=application/json; charset=utf-8, content-length=36, connection=c
lose, access-control-allow-origin=*, cache-control=no-cache, strict-transport-security=max-age=31556926; includeSubDomains; preload
[201

8-07-14T12:39:50.237Z] <<< HTTP RESPONSE BODY {
  "error" : "Permission denied"
}

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,这就是我解决问题的方式。

  1. 运行firebase初始化
  2. 取消选择❯◯数据库:实时部署Firebase 数据库规则
  3. 执行其他步骤来设置初始应用, 为每个选择默认值应该很好。运行firebase 服务

希望有帮助

答案 1 :(得分:0)

尽管我取消选择了“数据库:部署Firebase实时数据库规则”,但由于某种原因仍然存在一个database.rules.json文件,但事实证明这不是问题的原因,可能部署失败是因为我有垃圾在.firebaserc文件中。我在里面还有其他项目:

"projects": {
    "ConB": "fir-demo-project",
    "default": "concrete-2e0f7",
    "concrete": "concrete-2e0f7"
  }

所以我将其更改为:

"projects": {
    "ConB": "concrete-2e0f7",
    "default": "concrete-2e0f7",
    "concrete": "concrete-2e0f7"
  }

现在正在部署。

答案 2 :(得分:0)

就我而言,我没有所有者对应用程序的访问权限。您可以在FB控制台上看到它:“仅查看”图标和右上角的标签。 尝试在应用的所有者处请求所有者访问权限。