여씨의 개발이야기

[Today's Bug] Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=permission-denied]: Permission denied on resource project "xxxxxxxxx".This typically indicates that your device does not have a he.. 본문

🐞 Debug

[Today's Bug] Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=permission-denied]: Permission denied on resource project "xxxxxxxxx".This typically indicates that your device does not have a he..

yeossi 2021. 12. 31. 13:41

📢 이 버그 좀 보세요!

이 지랄맞은 에러를 보시라,,,,,🤬

firestore를 연결하는데 계속 permission denied 에러가 떴다. 로그를 자세히 뿌려주지 않아서 구글링하는대로 AtoZ 방법을 모두 적용해보았으나 전혀 해결이 되지 않았다. (물론 firestore 규칙도 다 수정해주었다.)

🐞 버그가 나타난 이유?

말 그대로 permission 문제인데, firestore의 규칙 설정을 안 해줬을 때 제일 많이 생겨나는 오류라고 한다. 하지만 필자의 경우는 달랐다. 몇 시간동안 머리를 싸매고 소스코드를 이 곳 저 곳 수정해 본 결과 결국 문제의 원인은 가장 가까운 곳에 있었다. 바로 설정값이 들어있는 .env 파일의 값을 인식을 못 하는 것이었다.

 

🕸 어떻게 이 버그를 잡을까?

.env 파일안에 있던 config 값을 바로 입력해주었다. 원래 이렇게 하면 안 되는데 임시방편으로 처리한 뒤에 추후에 .env 파일을 인식하지 못 하는 이유를 찾아야겠다. 

 

++ ) 원인을 분석해본 결과 .env 파일 내의 환경변수값들에 따옴표와 콤마가 그대로 변수 내의 값으로 처리되는 것 때문에 나는 오류였다. .env파일에는 절대 변수값만 넣어줘야한다! 

 

참고로 firestore의 규칙은 아래와 같은 탭에서 수정해줄 수 있다.

allow read, write: if true; // 무조건 true 처리하는 명령어는 테스트용이고 추후에는 인증 관련 명령어를 넣어줘야한다.

필자는 계속 수정이 안 된다고 오류가 났었는데, 크롬에 CORS관련 확장프로그램을 설치해서 CORS 기능을 해제해주면 된다. 

Comments