在我的 firebase 项目中,我已将功能从 v1 升级到 v2。突然创建自定义身份验证令牌失败并显示:
FirebaseAuthError:资源上的权限“iam.serviceAccounts.signBlob”被拒绝(或者它可能不存在)。;请参阅 https://firebase.google.com/docs/auth/admin/create-custom-tokens 了解有关如何使用此功能和解决此功能问题的更多详细信息。
我打电话给
getAuth().createCustomToken(uid)
。
我需要修复权限配置吗?如何添加缺少的权限?我必须将其添加到哪里?我的服务帐户已经具有“服务帐户令牌创建者”角色。并且此角色已包含“iam.serviceAccounts.signBlob”。
或者我是否必须在第二代函数中以不同的方式使用 API?
https://firebase.google.com/docs/auth/admin/create-custom-tokens
解决此问题的最简单方法是将“服务帐户令牌创建者”IAM 角色授予相关服务帐户,通常是 {project-name}@appspot.gserviceaccount.com:
在 Google Cloud 控制台中打开 IAM 和管理页面。 选择您的项目并单击“继续”。 单击与您要更新的服务帐户相对应的编辑图标。 单击“添加另一个角色”。 在搜索过滤器中输入“服务帐户令牌创建者”,然后从结果中选择它。 单击“保存”确认角色授予。