토큰 재발급 처리 관련 문의

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.7.0
  • 프로젝트명 : KnightRush
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

위의 토큰 재발급 관련 로직을 참고해 처리하고 있는데 추천 로직 설명중에 이해가 안가는 부분이 있어 문의드립니다.

1.bad accessToken 발생 시 Backend.BMember.RefreshTheBakcendToken 호출
→ 현재 statusCode 가 401 이고, errorCode 가 “BadUnauthorizedException”, 그리고 message 에 “bad”, “accessToken” 문자열이 포함된 경우 다른 디바이스에 접속한 것으로 판단하여 종료 팝업을 출력해주고 있습니다. 메세지 내용이 동일한데, 동일한 형태의 에러로 봐야 하는건가요?

accessToken 이 유효하지 않은 경우는 두 가지가 있습니다.

  • 다른 기기에서 로그인하여 토큰이 유효하지 않은 경우
  • 토큰 발급 이후 24시간이 경과되어 만료된 경우

안내드린 추천 로직 예시는 bad accessToken 이 발생된 경우
Backend.BMember.RefreshTheBackendToken 함수를 통해 refreshToken의 유효성 추가로 검증하고, 두 토큰을 갱신하도록 하고 있습니다.

만약 이 때, 다른기기에서 로그인 한 경우라면 bad refreshToken이 발생하게 되고
장시간 방치로인해 accessToken 만이 만료된 경우라면 토큰이 재발급되어 갱신되게 됩니다.

현재는 401, BadUnauthorizedException, bad accessToken 메세지가 왔을 경우 무조건 중복로그인으로 판단하여 종료팝업을 출력해주고 있는데, 토큰 발급이후 24시간 경과 오류 사례가 하나 더 있는거군요.

그러면 bad accessToken 발생 시 토큰 재발급 처리. 이후 bad refreshToken 발생 시 중복로그인으로 판단하여 종료팝업을 출력해주면되는건가요?

네, 맞습니다.
방치형 게임의 경우 24시간 이상 플레이를 유지하는 유저분들이 계시기에,
토큰 갱신 함수를 추가로 진행하고, 그때 확인되는 결과에 따라 이후 처리를 해주시면 됩니다. :D

네 빠른 답변 감사드립니다^^