У меня была та же ошибка, и я мог видеть, что служебная учетная запись имела роль «Создатель токена служебной учетной записи» в пользовательском интерфейсе консоли GAM IAM.
Что решило это для меня:
Убедитесь, что вы используете правильный проект Firebase:
firebase use your-project
Убедитесь, что вы используете «учетную запись службы App Engine по умолчанию», например, your-project@appspot.gserviceaccount.com
.
Предоставьте роль этой учетной записи службы через gcloud cli:
gcloud projects add-iam-policy-binding your-project --member serviceAccount:your-project@appspot.gserviceaccount.com --role roles/iam.serviceAccountTokenCreator
Развертывание Firebase:
firebase deploy
После этого он работал для меня (но не после настройки через пользовательский интерфейс без развертывания).
Я думаю, что это должно отображать роль в учетной записи службы:
gcloud iam service-accounts get-iam-policy your-project@appspot.gserviceaccount.com --project your-project
Но для меня все равно выдается etag: ACAB
, хотя я вижу роль на выходе предыдущей команды и вижу, что роль работает, поскольку теперь она может создавать собственные токены.