Programing/JAVA

Firebase Proxy 등록 정보 및 라이브러리 수정 방법

리커니 2023. 4. 11. 14:14
반응형

특정 업체 협업을 하던 도중, 방화벽이 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/

 

Firebase

Firebase has 93 repositories available. Follow their code on GitHub.

github.com

 

저의 경우 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)

적용이 완료된 것입니다.

 

반응형