5.11.4버전과 5.11.7 버전 에러 메시지가 다른 이슈.

로컬에 저장된 만료 토큰을 이용하여 자동로그인 할 경우

5.11.4 버전에서의 에러
에러코드 : 401
에러메시지 : “bad accessToken, 잘못된 accessToken 입니다.”

5.11.7 버전에서의 에러
에러코드 : 401
에러메시지 : “bad refreshToken, 잘못된 refreshToken 입니다.”

로그인 시 저장된 토큰이 만료되었을 때의 처리를 아래 처럼 처리하시는 걸 추천드립니다.

if (errorMessage.contains(“token”, StringComparison.OrdinalIgnoreCase))
{
//토큰 만료, 다시 로그인 필요
}

저는 errorMessage 메시지에 "accessToken"이 포함되었을 경우 처리를 해놔서
기존 유저들이 앱 데이터를 지우거나, 아이폰의 경우 앱을 재설치 해야하는 이슈가 생겼습니다.

참고로 모든 Error Casees 문서를 참고해서 5.11.4 버전에서 자동로그인 시 토큰만료 처리를 하는 도중에
문서와 에러메시지가 달라서 실제로 위와 같은 처리를 했었고 5.11.7버전으로 업데이트 되면서 에러메시지가 Error Casees 문서와 동일하게 수정되었더군요.

저 같이 마음고생하는 분이 나오지 안길 바라는 마음에 내용 공유드립니다.

좋아요 2

안녕하세요 개발자님,
각 에러의 발생 상황에 대해 안내드립니다.

에러코드 : 401
에러메시지 : bad accessToken, 잘못된 accessToken 입니다

Access Token의 유효기간은 24시간으로 로그인 함수 호출 시 Access Token이 올바르지 않거나 만료된 경우 위 에러가 발생하게 됩니다.
이 상황에서는 RefreshTheBackendToken 함수를 호출해 Refresh Token을 통해 새로운 토큰으로 갱신하고 토큰 로그인을 시도해 주면 됩니다.

에러코드 : 401
에러메시지 : bad bad,accessToken,잘못된,accessToken,입니다, 잘못된 bad,accessToken,잘못된,accessToken,입니다 입니다

로그인 외 기능 호출 시 Access Token이 올바르지 않거나 만료된 경우 발생하는 에러입니다.
이 상황에서도 RefreshTheBackendToken 를 통해 토큰을 갱신하여 이용해 주면 됩니다.

에러코드 : 400
에러메시지 : accessToken not exist

기기 로컬에 액세스 토큰이 존재하지 않는데 토큰 로그인이나 토큰 갱신을 시도를 한 경우로
이 상황에서는 일반 로그인 과정을 진행해 주어야 합니다.

에러코드 : 401
에러메시지 : bad refreshToken, 잘못된 refreshToken 입니다

Refresh Token 이 만료되었을 때 로그인 혹은 토큰 갱신을 시도하며 발생하는 에러입니다.
토큰이 완전히 만료된 상태이기 때문에 일반 로그인 과정을 통해 로그인하여 토큰을 새로 발급해주어야 합니다.

에러코드 : 410
에러메시지 : Gone expired refreshToken, 사라진 expired refreshToken 입니다

Refresh Token의 유효기간인 1년이 경과되었을 때 발생하는 에러로,
일반 로그인 과정을 진행해 주시면 됩니다.

에러 메시지 정보에 따른 상황이 상이하기에 이점 주의하여 로직을 구성하여 주시면 감사하겠습니다.

좋아요 1