我们已经从服务帐户 key 切换到serviceAccountIds(或尝试进行了更改),因此我们可以清理所有拥有的胭脂 key 。推出更改后,我们看到:
必须具有权限iam.serviceAccounts.signBlob才能对服务帐户项目/-/serviceAccounts/[email protected]执行此操作。有关该功能的使用和故障排除的更多详细信息,请引用https://firebase.google.com/docs/auth/admin/create-custom-tokens。
关键是,我们肯定已经应用了正确的角色(请参阅附件)。我们甚至还尝试了一些更好的措施。
谢谢!
最佳答案
在这种情况下,使用了两个服务帐户:
serviceAccountId
的服务帐户。 似乎只有两个服务帐户都具有
signBlob
权限时,IAM才起作用。我已经向GCP/IAM团队咨询过。同时,您可以立即尝试以下几种修复方法:您的项目的帐户。
完全指定一个
serviceAccountId
。 SDK会自动发现相同的内容在“功能”中运行时的服务帐户ID。
关于firebase - 使用serviceAccountId时无法签署JWT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53344238/