파이어베이스 Custom Token 에러

Theo·2024년 8월 1일

파이어베이스

목록 보기
4/4

문제

functions 에뮬레이터에서 잘 돌아갔던 custom token 생성이 실제로 functions에 hosting한 후 갑자기 되지 않음.

해결방법

다 권한 문제였음. 혹시나 나중에 같은 문제가 발생하면 헤매지 않고 해결하기 위해 기록을 남겨둠.

1. IAM API 'enable'하기

Identity and Access Management (IAM) API has not been used in project
프로젝트명 before or it is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/iam.googleapis.com/overview?project=프로젝트명**
then retry. If you enabled this API recently, wait a few minutes for the action
to propagate to our systems and retry.

파이어베이스 프로젝트에서 IAM API를 'enable'로 하지 않았다면 위와 같은 메세지가 뜸. 프로젝트 master 권한을 가진 계정에서 아래 링크로 접근한 후 'enable' 버튼을 '딸깍' 누르면 됨

https://console.developers.google.com/apis/api/iam.googleapis.com/overview?project=프로젝트명

'딸깍' 버튼 누르면 뭐든게 다 해결될 줄 알았지...만 아래와 같이 여전히 에러 발생함... ☠️☠️☠️

2. Custom Token을 생성하는 마법을 부릴 마법사가 없음

Permission iam.serviceAccounts.signBlob is required to perform this operation
on service account projects/-/serviceAccounts/{your-service-account-id}.

혹은 denied라는 단어가 출력될 수 있음.

API 발동 버튼을 눌렀지만, UID를 Custom Token로 바꿀 수 있는 마법을 누구에게 줄 것인지 정하지 않음. 결국 권한을 줄 계정을 찾아 권한을 부여하면 끝. 그렇다면 누구에게 무슨 권한을 주느냐?

권한을 부여할 계정
{프로젝트명}@appspot.gserviceaccount.com (1세대용)
{랜덤숫자}-computer@developer.gserviceaccount.com - 2세대용

주어야 하는 권한
서비스 계정 토큰 생성자

나는 2세대를 쓰니, 2세대 기준으로 저 계정의 이름은 Default compute service account임. 참고바람.

진짜 끝났나? 생각했지만 2번에서 발생한 에러가 계속 발생 ☠️☠️☠️☠️☠️☠️ 파이어베이스 🔥버릴까... 생각했지만, 위 에러가 계속 발생한다면 아래 방법을 시도해보도록 한다.

3. 기다리셈

Your magic skill is not enough to go through this process.

주문 외우면서 기다리면 해결됨. ㅅㄱ.

참고

profile
🧑🏻‍💻

0개의 댓글