Firebase Cloud Function Deploy

파이어베이스 Cloud Function 사용법
- funcions 폴더 생성(코딩 컨벤션)
- Local 환경 내 firebase cli 설치
$ npm install -g firebase-tools
$ firebase login --no-localhost
$ firebase init
//구성 파일을 모두 구비했으면 생략 가능
$ firebase deploy

폴더&파일 구성도
firebase deploy 오류 발생
구글 클라우드 플랫폼 함수 세부정보 로그에서 다음과 같은 오류가 계속 발생하고 있는 것을 발견했다.
internal/modules/cjs/loader.js:1085:14)
세 가지 가설이 있다.
첫째. npm 꼬여서 문제가 발생했다?
- npm 캐시삭제와 npm과 관련된 파일과 폴더를 모두 삭제하고 다시 깔려고 했다.
node modules폴더를 삭제하고 재설치 하니 npm패키지가 중간에 멈춰 꼼짝도 안한다. Putty Restart를 했더니 빨라졌다.
- node와 nvm을 purge 코드를 써서 삭제했다. nvm 폴더 등도 삭제했다.
하지만 오류발생은 그대로였다.
npm 명령어 모음
/posts/npm-package-manager-commands
(사견: 패키지 설치 함부로하지말고, 문제가 생기면 재시작은 궁극의 해결법이다.)
둘째. 패키지 모듈이 설치되지 않아 불러와지지 않았다.
- index.js에 필요한 모듈이 package.json에 적혀있지 않아서, npm install 해도 모듈이 로드가 안됐었다.
- cors : 사요만하고, 설치를 안했었다.
- request: 모듈이 더이상 지원하지 않아서 따로 깔아줘야했다.
(사견: 구글링보다 오류를 정확이 읽고 판단하는 것이 문제해결이 빠르다. 구글클라우드 로그를 세심히 찾아야 가능했다.)

셋째. 파이어베이스 오류

파이어베이스 컨솔에서 function deploy가 되었던 저장소를 리셋하는 것이다.
독립시행을 하지 않아, 원인이 세번째인지 확실하진 않다.
네이버, 카카오 oAuth 인증 오류 발생
- 카카오 unathentiaction(401인지402인지 안나오고 그냥 회색화면) / 401오류
: 카카오에서 클라우드 함수 IP를 허용하지 않아서 발생한 문제다.
- 초기해결방법 고급설정에서 firebase IP를 일일이 추가 설정(107.178.200.235) 고정IP인줄암. 하지만 IP가 계속해서 바뀌어서 요청함.
- 구글 클라우드 IP주소를 고정 IP로 할당하는 방법이 없을까?
https://cloud.google.com/vpc/docs/using-vpc VPC를 이용하여 고정 IP할당방법 찾음. 하지만 새로운 VM을 생성해야하기에 비효울적임.
- kakao dev에서 허용 IP를 추가한 순간부터, 그 IP만 허용한다는 카카오의 설정이 있었음. 모두 삭제했더니, 모든 IP가 허용되었기에 해결함.


- 400오류: env에서 redirect url localhost => 카카오 디벨롭에서 리다이렉트 주소 도메인에 맞게 추가 설정
hss been bloked by cors plolicy
이게 포트를 막아서 발생하는 오류인것인가
엑세스 토큰을 도메인에서 받아와야하는데 이걸 막았나
funcions/index.js CORS모듈을 설치하니 해결
CORS 오류 관련 링크
https://coding-groot.tistory.com/91