안녕 세상아,

[FireBase] FCM 작동원리 본문

서버 개념

[FireBase] FCM 작동원리

돈 많은 백수가 되고싶다 2024. 3. 28. 15:56

처음 정리하고 발표했는데 주어 목적어가 확실하지 않다고해서 다시 작성했다. 

지금 보면 좀 많이 허접하긴하네..쩝

1, 2. 모바일에서 접속을 하게 되면 FCM Token을 발급해준다. 

3. 모바일 -> AppServer에 요청을 하면서 UserID, FCM Token을 함께 보낸다. 

4. HTTP POST 요청을 보낸다. 요청을 보낼 때 비밀키를 같이 보낸다. 여기서 비밀키는 access Token을 발급해달라고 증명하는 그런 느낌,,?임..

5. FCM에서 AppServer에 accessToken을 보낸다. 

6. FCM 요청을 보낼 때 accessToken을 포함시킨다. 

7. 검증을 완료하면 FCM -> 모바일, 모바일에서 push 전송함!

 

accessToken을 발급받기 위해 필요한 것은 

1. OAuth2.0 : 인증 프로토콜, 앱이 사용자 대리로 서버 리소스에 접근

2. 비밀키 : 서버 - 서버 상호작용에 중요, 서비스 계정과 같이 안전한 인증

3. Google ADC : Google Cloud API 사용하는 앱을 위한 인증 자격 증명 자동으로 찾음

 

이 셋의 상관관계: accessToken을 발급 받을 때, OAuth 2.0 프로토콜을 사용. 이 과정에서 비밀키가 필요할 수 있다. Google ADC는 개발환경에서 자동으로 적절한 인증정보 찾아서 사용한다. 인증정보를 명시하지 않고 암묵적으로 찾아서 사용한다. 암튼 accessToken을 발급 받기 위해서는 암묵적으로 다 사용되는 것,,

 

심지어 FCM 개쩌는게 accessToken 만료되면 내부적으로 refresh 해줘서 자동으로 accessToken 갱신해줌 ;; 지린당..

accessToken 만료시간은 1시간이고 SDK 내부에서 자동 갱신해주니까 걱정 노노. 아, 내부적으로 업데이트도 되니까 이후 API 요청에서 갱신된 토큰 자동으로 사용된다. 

'서버 개념' 카테고리의 다른 글

HTTP Method가 뭐에요?  (1) 2024.07.31
binding(바인딩) 이란?  (0) 2024.05.17
CORS 를 아시나요...?  (0) 2024.05.16
HTTP 상태코드  (1) 2024.04.04
[FireBase] FCM (Firebase Cloud Messaging) 유형, 업데이트 되면서 바뀐 점  (2) 2024.03.27