firebase - Firebase 提供的身份验证凭据无效
问题描述
我正在处理的 Firebase 项目已被删除,并创建了一个新项目。我现在需要使用我已经完成的新项目的凭据。我从谷歌云控制台生成了一个新的服务帐户密钥,并用新的服务帐户密钥替换了旧的服务帐户密钥。我也将数据库(URL)替换为新项目的 URL。我用新项目更新了我的 .firebaserc 文件。我仍然收到错误消息:
FIREBASE WARNING: Provided authentication credentials for the app named "[DEFAULT]" are invalid. This usually indicates your app was not initialized correctly. Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.
我使用新的服务帐户密钥更新了我的配置文件,更新了传递给 firebase.initializeApp 的道具,更新了 .firebaserc 文件,我是否遗漏了我遗漏的其他内容?
我只有项目的编辑角色,我使用谷歌云生成了服务帐户密钥。我是否需要所有者角色才能获得有效的服务帐户密钥?
{
"serviceAccount": {
"type": "service_account",
"project_id": "new-project",
"private_key_id": <SOME KEY>,
"private_key": "-----BEGIN PRIVATE KEY-----\nSOME-KEY",
"client_email": "new-project@new-project.iam.gserviceaccount.com",
"client_id": <SOME KEY>,
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/new-project%40new-project.iam.gserviceaccount.com"
}
}
firebase.initializeApp({
credential: firebase.credential.cert(serviceAccount),
databaseURL: 'https://new-project.firebaseio.com',
});
{
"projects": {
"default": "new-project"
}
}
解决方案
是的,您需要对项目具有所有者权限才能生成具有正确权限的服务帐户密钥。
推荐阅读
- mysql - MySQL:与dense_rank()over()的group by和partition的差异输出?
- javascript - 从中获取价值
- python - 使用 fastapi-contrib 的 FastApi 分页错误
- swift - Swift 可选字符串拆分成数组问题
- java - 我如何重构修复冗余空检查
- java - IntellijIDE 将顶层目录标记为源根目录会导致 src.main.java.com.mycompany.xyz
- javascript - 在 React 应用程序中使用 require 加载图像
- c# - 将 float[] 数组添加到列表中
并清除数组内容而不会丢失列表内容 - mysql - 不能在 MySQL 工作台 8.0(MySQL 版本 5.7.31)中使用“over”子句
- python - 在 python 中使用 dsbulk 加载