部署 Firebase 项目时获取 "permission denied"

Getting "permission denied" when deploying Firebase project

我有一个简单的 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"
}

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

  1. 运行 firebase 初始化
  2. 取消选择 ❯◯ 数据库:实时部署 Firebase 数据库规则
  3. 完成其他步骤以设置初始应用程序, 为每个选择默认值应该可以正常工作。 运行 火力基地 发球

希望对您有所帮助

虽然我取消了选择 "Database: Deploy Firebase Realtime Database Rules" 但出于某种原因仍然有一个 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"
  }

现在正在部署。

就我而言,我只是没有该应用程序的所有者访问权限。您可以在 FB 控制台看到它:"View only" 图标和右上角的标签。 尝试向应用的所有者请求所有者访问权限。