【发布时间】:2019-04-20 00:27:02
【问题描述】:
我们已从服务帐户密钥切换到 serviceAccountIds(或尝试这样做),因此我们可以清理我们拥有的所有 rouge 密钥。推出我们看到的变化后:
需要权限 iam.serviceAccounts.signBlob 才能对服务帐户项目/-/serviceAccounts/xxxx@xxx.iam.gserviceaccount.com 执行此操作。;请参考https://firebase.google.com/docs/auth/admin/create-custom-tokens了解更多关于如何使用和解决这个功能的细节......}}
问题是,我们肯定应用了正确的角色(见附件)。我们甚至还尝试了更多。
谢谢!
【问题讨论】:
-
您可以尝试使用其他服务帐户吗?还要确保服务帐号和 Cloud Functions 实例属于同一个 Firebase/GCP 项目。
-
嘿Hiranya。我尝试了一些服务帐户来检查它是否与它们的创建方式有关。还检查了环境(服务帐户名称相当独特,因此很容易从错误消息中验证)。仍然没有快乐。
-
这很奇怪。也许您可以尝试使用您的服务帐户之一直接调用 IAM REST API。这将帮助我们排除在 SDK 级别是否发生了奇怪的事情。除此之外,我所能建议的就是联系 GCP 支持:support.google.com/cloud/contact/free_trial_support
-
谢谢。您的意思是调用签名端点吗?你可以只提供一个服务帐户ID吗?我试试看……
-
为什么角色合并到一个服务帐户?在我的设置中,3 个角色关联到 3 个不同的服务帐户。 firebase-admin-sdk 的编辑角色、机器人帐户的 Cloud Functions 服务代理 (...gcf-admin-robot.iam.gserviceaccount.com) 以及与属于云函数也是。
标签: firebase authentication google-cloud-platform jwt