Firebase Proxy 등록 정보 및 라이브러리 수정 방법
특정 업체 협업을 하던 도중, 방화벽이 IP 주소만 허용이 되서, 프록시를 사용하여 도메인주소를 변경해야 했습니다.
일단 다운받은 firebase 설정 파일(json) 에는 아래 4개 값이 도메인 주소로 되어 있습니다.
auth_uri,
token_url,
auth_provider_x509_cert_url,
client_x509_cert_url
이 도메인 주소로 설정되어 있습니다. 해당 도메인을 IP 주소로 바꾸어 프록시를 타게 설정합니다.
그리고 메시지 전송을 위해서는 firebase라이브러리 내 com.google.firebase.messaging package의
FirebaseMessagingClientImpl class 에 설정된 2개의 final 변수를 수정해 주어야 하는데,
FCM_URL 과 FCM_ROOT_URL 입니다.
다행히 firebase는 github에 코드를 공개하고 있습니다.
Link : https://github.com/firebase/
저의 경우 java 로 개발을 했기 때문에 firebase-admin-java 를 다운 받았습니다.
다운받은 프로젝트를 VS code로 열면 EXPLORER > JAVA PROJECTS > firebase-admin 을 보실 수 있습니다.
이제 프로젝트 내에 위에서 설명한 FirebaseMessagingClientImpl 의 두 final 변수 값을 proxy 로 전달 할 수 있게 IP로 수정합니다.
수정 후 JAVA PROJECTS 옆에 + 오른쪽 화살표(Export jar..)를 클릭해 jar파일을 생성합니다.
CodeCoverageReporter > test를 제외하고 체크 > Export
기본적으로 jar 파일은 clone 받은 git root 경로에 저장됩니다.
경로로 이동하면 firebase-admin-java-master.jar 가 생긴 것을 확인하실 수 있습니다.
이제 gradle dependency 에서 firebase 부분을 주석 처리 하고, 해당 jar 파일을 import 합니다.
Ex) gradle에서 특정경로 jar import 방법
implementation fileTree(dir: 'libs', include: ['*.jar'])
libs 경로의 모든 .jar 파일을 import
이제 프로젝트를 Clean Java Language Server Workspace를 진행해서 build되면 (shift + crtl + p > clean)
적용이 완료된 것입니다.