通过服务账号密钥认证Firebase CLI失败,请求排查解决
问题描述
已通过服务账号密钥完成gcloud CLI认证,但Firebase CLI执行firebase projects:list命令失败。
已完成操作
通过管理控制台下载服务账号密钥,执行gcloud认证成功:
➜ gcloud auth activate-service-account --key-file gcloud-service-key.json Activated service account credentials for: [firebase-adminxxx0@xxxxxx.iam.gserviceaccount.com]
错误信息
执行Firebase项目列表查询时失败:
➜ firebase projects:list ✖ Preparing the list of your Firebase projects Error: Failed to list Firebase projects. See firebase-debug.log for more info. Having trouble? Try again or contact support with contents of firebase-debug.log
日志文件显示命令需要特定权限范围(scopes):
[debug] [2022-11-01T15:16:35.589Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
服务账号权限
该服务账号已拥有以下权限:
- Firebase Admin
- Firebase Admin SDK Administrator Service Agent
- Service Account Token Creator
解决方案
问题出在gcloud激活服务账号时未指定Firebase CLI所需的全部权限范围(scopes),默认激活的scopes不包含Firebase操作需要的权限。按以下步骤修复:
- (可选)撤销当前服务账号认证
gcloud auth revoke firebase-adminxxx0@xxxxxx.iam.gserviceaccount.com
- 重新激活服务账号并指定完整scopes
gcloud auth activate-service-account --key-file gcloud-service-key.json --scopes="email,openid,https://www.googleapis.com/auth/cloudplatformprojects.readonly,https://www.googleapis.com/auth/firebase,https://www.googleapis.com/auth/cloud-platform"
- 让Firebase CLI关联该认证
运行以下命令选择对应的Firebase项目:
firebase use --add
完成后再次执行firebase projects:list即可正常获取项目列表。
内容的提问来源于stack exchange,提问作者Fares
相关产品推荐
相关产品推荐

