특정 업체 협업을 하던 도중, 방화벽이 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)
적용이 완료된 것입니다.
'Programing > JAVA' 카테고리의 다른 글
Firebase 환경 설정, 구축 및 구현 방법, 앱 푸시 메시지 보내기 (0) | 2023.04.21 |
---|---|
Springboot Quartz clustering 적용방법, spring batch, shedlock (0) | 2023.04.18 |
Swagger 잘~만들어보기 응답 Model 명확하게, 타입, 최대 최소값 표출하기 (1) | 2023.02.27 |
java 카카오 간편 로그인 구현하기 처음부터 자세히! (1) | 2023.02.24 |
Yaml 파일 객체화 yaml 파일 읽기 snakeyaml (0) | 2023.02.17 |
댓글