토큰 리프레시 오류 문의

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

  • 뒤끝 SDK 버전 : 5.6.0
  • 프로젝트명 : ElfBlasterRPG : 라이브
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요.

RefreshToken을 호출하는 경우 오류가 발생하면 그때부터 서버 통신 함수 호출 시 BadAccess 에러코드만 발생하는 경우가 있습니다.
해당 오류가 발생하면 그 뒤로 더 이상 저장이 안되기 때문에 백섭 문의가 자주 오는데요
예전에도 비슷한 문의를 드렸을때 22시간마다 리프레시 함수를 호출하라는 답변을 받고 적용시켰습니다.
하지만 접속 22시간 때 호출한 RefreshToken이 오류가 발생하면 그 이후 플레이한 기록은 그대로 사라집니다.

오류 발생 후 다시 RefreshToken함수를 호출해도 이미 오류가 난 상황이기 때문에 그 뒤 호출한 RefreshToken 함수 자체도 에러코드를 받습니다.
대체 RefreshToken 오류는 왜 발생하고 어떻게 대처 해야 할까요?

좋아요 1

안녕하세요 개발자님,
남겨주신 말씀 확인하여 로그 기록을 상세히 확인해 보았습니다.

RefreshToken 함수의 호출이 처음 한두번은 성공하지만 때때로 정상적으로 호출이 이루어지지 않는 상황이 확인됩니다.
이에 24시간을 경과하여 토큰이 만료되면서 에러가 발생하는 상황이 확인되고 있기에,
리프레시 주기를 12시간으로 변경하여 테스트 해보시는 것을 추천드립니다.

안녕하세요. 픽셀판타지아 개발자입니다.
커뮤니티 질문 사항 검토하다 추가 질문 드립니다.

그럼 12시간 주기로 토큰 리프래시를 사용한다고 했을 때, 12시간 방치해 둔 후 토큰 리프래시 에러가 발생한 경우엔 이후 모든 프로토콜 통신 에러가 나게 될 것으로 예상됩니다.
이 경우엔 롤백 문제가 발생할 수 있어, 강제종료로 유도할 수 밖에 없게됩니다.

RefreshToken의 에러같은 경우 대응 방법에 대한 상세한 안내가 필요할 것 같습니다.

답변해주셔서 감사드립니다.

리프레시 주기를 예전에도 6시간, 12시간, 5시간, 22시간 여러가지로 해봤지만 RefreshToken이 오류가 나면 그 뒤로 통신이 실패하는 현상이 지속됐습니다.(백섭 문의오는 유저들 로그를 확인해보면 저희가 설정한 리프레시 주기 이후의 로그가 아예 안 남았습니다)

에디터로 실험해 봤을 때 다른 함수와 RefreshToken함수를 계속 호출하면 오류가 발생하는 것을 확인하여 방어코드도 작성했지만 그 뒤에도 같은 현상이 발생했습니다.

리프레시 토큰 문의를 하면 항상 시간 변경을 하라고 답변을 주셨는데 시간 변경으로는 문제 해결이 불가능했습니다. 시간 변경 말고 다른 대응 방법에 대한 안내가 필요할것 같습니다

리프레시 토큰 함수 호출 시 개발자문서에 설명된 에러가 리턴되는 경우, 리프레시 토큰은 무조건 실패하게 됩니다.
이 때, 에러 리턴에 따라 로그인 함수를 호출하게 하는 등 상황에 맞게 처리하는 것을 추천드립니다.

예를들어
401 bad accesstoken 이나 500번대 에러가 발생하는 경우 해당 함수를 30초 가량의 시간 간격을 두고 재 호출하도록 하고,
세번째 호출에도 에러가 발생하면 그때 이상 현상으로 간주하여 다시 로그인 하도록 하는 로직으로 구성해주시면 감사하겠습니다.