투케이2K

34. (TWOK/WORK) [업무 이슈] FCM 푸시 알림 토큰 유효성 검증 이슈 - AWS SNS , FCM CLIENT TOKEN 본문

투케이2K 업무정리

34. (TWOK/WORK) [업무 이슈] FCM 푸시 알림 토큰 유효성 검증 이슈 - AWS SNS , FCM CLIENT TOKEN

투케이2K 2024. 3. 14. 19:19

[제 목]

[업무 이슈] FCM 푸시 알림 토큰 유효성 검증 이슈 - AWS SNS , FCM CLIENT TOKEN

 

[내 용]

 

------------------------------------------------------------------------------

[이슈 사항]

1. AWS SNS 를 사용해 파이어베이스 푸시 알림 발송 후 >> 정상적으로 푸시 알림을 받지 못한다는 이슈 발생

------------------------------------------------------------------------------

[원인 파악]

1. 서버 소스 코드 이상 점검 (정상 : Exception 발생 없음)

2. AWS Cloud Watch Log 확인 및 DB 사용자 토큰 유효성 값 확인 (이슈 발견 / 실시간 토큰 업데이트 동기화 이슈)

  >> DB 에는 사용자 토큰 유효성 값이 [Y] 정상으로 되어있지만, AWS Cloud Watch Log 확인 결과 유효하지 않은 토큰 로그 확인 

------------------------------------------------------------------------------

[조치 내용]

1. 서버에서 푸시 발송 이후 유효하지 않은 클라이언트 토큰 DB 업데이트 로직 변경

  >> 기존 : 서버에서 푸시 발송 이후 AWSLogClient 를 사용해 AWS Cloud Watch Log 를 확인 후 유효하지 않은 토큰 인 경우 DB 업데이트를 수행

            1) LogGroup 에 해당하는 LogStream 목록을 조회
            2) LogStream 목록에서 각 LogStream의 이름과 StartTime, EndTime을 기준으로 Event 목록을 조회
            3) Event 목록에서 각 Event의 MessageId와 현재 보낸 Push의 MessageId가 일치하는지 확인하여 전송 실패여부 검증


   >> 변경 : 파이어베이스 자체 토큰 유효성 검증 Fake 방식을 통해 사전 토큰 검증 이후 AWS SNS 모바일 푸시 발송 실시

            1) 파이어베이스 푸시 발송 시 메시지 페이로드에 validate_only 값 true 설정 후 토큰 유효성 검증 (실제로 메시지를 전달하지 않고 요청을 테스트하기 위한 플래그)
            2) 토큰이 유효한 경우에만 AWS SNS 모바일 푸시 발송 , 유효 하지 않은 경우는 DB 에 토큰 유효성 값 [N] 업데이트 실시

------------------------------------------------------------------------------

[참고 사이트]

https://blog.naver.com/kkh0977/223369308606

https://blog.naver.com/kkh0977/223382485331

------------------------------------------------------------------------------

 

반응형
Comments