최근 서버 점검 후 접속 장애에 관한 문의가 급증

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

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

  • 뒤끝 SDK 버전 : 5.9.4
  • 프로젝트명 : 퇴마사 디펜스
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

11월 7일 오전 서버 점검 이후 (서버 점검이 종료되었음에도) 유저들 사이에 접속이 불가능하다는 문의가 늘었습니다.

모든 유저를 대상으로 발생하는 현상이 아니며, 저희 측 테스트 기기에서도 모두 정상적으로 접속이 되는 것으로 보아 특정 발생 조건이 있는 것처럼 보입니다.

문제가 발생한 유저의 데이터를 복사하여 접속했을 때도 정상 접속이 되는 사실로 볼 때 데이터의 파손 등으로 인한 문제는 아닌 것 같습니다.

최근 저희 게임에서 발생한 로그인 장애 오류가 있는지 확인해 주실 수 있습니까?

가능하면 대략적인 원인이나 로그도 알 수 있으면 좋겠습니다.

좋아요 1

안녕하세요 개발자님,
서버 점검 전 후를 기준으로 에러별로 발생 수를 확인해보았을 때,
큰폭으로 변화하거나, 특이점으로 확인되는 에러정보는 확인되지 않고 있습니다.

다만 점검 전후 모두
토큰값이 null 로 요청되면서 “undefined refresh_token, refresh_token을(를) 확인할 수 없습니다” 에러가 발생하는 상황이 확인됩니다.

LoginWithTheBackendToken, RefreshTheBackendToken 두 함수 호출 과정에서 에러가 발생하고 있으니,
LoginWithTheBackendToken 함수 호출 과정에서 토큰값이 null 로 요청되는 상황 및 로직을 확인하여 주시면 감사하겠습니다. (혹은 위 에러에 대한 대응으로 토큰로그인이 아닌 일반 로그인과정이 진행될 수 있도록 구성해주세요.)

저희 프로젝트도 문의가 급증하고 있습니다.

저희 프로젝트도 커스텀 로그인이 해제되었다는 문의가 급증하였습니다.
확인해보니 점검 상태에서 토큰 로그인 시도 함수의 리턴값이 점검 오류가 아닌 accesstoken오류로 반환 되는 것을 확인하였습니다. 해당 부분이 관계가 있을까요?

그럼 토큰이 Null로 반환되었을 때 토큰을 재발급받아야 합니까?

게스트 계정의 경우 토큰을 재발급 했을 때 원래 계정으로 이어서 접속할 수 있습니까?

만약 토큰 재발급 시 게스트 계정의 연결이 해제된다면, 게스트 계정 연결을 유지하면서 토큰이 null일 경우 적절한 대응 방안을 알려주실 수 있나요?

  • 오후 1시 36분 수정
  • 현재 Apple 로그인 시 LoginWithTheBackendToken, RefreshTheBackendToken 함수에서 에러가 발생하면 토큰을 재발급하도록 조치되어 있습니다. 토큰 재발급으로는 해결이 되지 않는 문제로 보입니다.

LoginWithTheBackendToken, RefreshTheBackendToken 이 함수는 Apple 로그인 시에만 사용하고 있습니다.

게스트 계정으로 플레이 중인 유저들도 동일한 문제를 호소합니다.

게스트 계정인 유저들 중, 로그인 관련 오류가 발생한 기록이 있습니까?

스테이터스코드 : 400
에러 코드 : UndefinedParameterException
에러메시지 : undefined refresh_token, refresh_token을(를) 확인할 수 없습니다

토큰이 Null로 반환되었을 때는 토큰 갱신 함수를 호출하더라도 동일하게 refresh 토큰값이 없기에 요청에 실패합니다.
게스트/커스텀/페더레이션 로그인 함수가 호출되도록 해주셔야 합니다.

게스트 계정의 경우 디바이스 내 뒤끝데이터 파일이 삭제되지 않는 한 토큰값과 무관하게 게스트로그인 함수를 통해 로그인이 가능합니다.
토큰로그인에 실패하는 경우 게스트로그인 함수를 호출해 로그인하도록 해주시면 됩니다.

개발자님의 프로젝트에서는 토큰로그인 시도시
bad refreshToken, 잘못된 refreshToken 입니다
undefined refresh_token, refresh_token을(를) 확인할 수 없습니다

두 에러가 확인됩니다.

두 에러 모두 토큰로그인이 불가한 상황에 해당하기에,
게스트/커스텀/페더레이션 로그인을 진행할 수 있도록 해주셔야 합니다.

애플 ID를 사용한 로그인에 실패했다면 별도의 조치 없이 애플 로그인 함수를 재호출하면 되나요?

네, 맞습니다.
토큰 로그인 과정에서 아래 에러가 발생한 경우 토큰갱신이 아닌 수동 로그인(게스트/커스텀/구글/애플 로그인)이 진행되도록 해주시면 됩니다.

스테이터스코드 : 400
에러 코드 : UndefinedParameterException
에러메시지 : undefined refresh_token, refresh_token을(를) 확인할 수 없습니다

감사합니다.

저희 현재 구현된 프로세스는 아래와 같이 구성됩니다.

1.토큰 로그인 시도
2.토큰 로그인 실패(Null) 예외처리 : 토큰 refresh
3.토큰 refresh 실패 예외처리 : 애플 어카운트로 로그인
4.애플 어카운트 로그인 실패 예외처리 : 실패 팝업 호출 후 게임 종료

이 중 2번 과정을 제거하고 바로 3번으로 넘어갈 수 있도록 하겠습니다.

다만 현재 고객들은 4번 과정을 확인하지 못하고 있는 상황입니다. (실패 팝업이 나오지 않고 게임이 로그인 창에서 무한 로딩에 걸림)

3번 애플 어카운트로 로그인 과정에서 어떤 오류가 있는 듯 한데, 애플 로그인 시 오류 콜백이 발생하는지 확인해 주실 수 있나요?

관련 상황 추가 확인해보도록 하겠습니다.

3번 과정인 토큰 refresh 예외처리가 어떤 기준으로 되어있는지 확인하여 주시면 감사하겠습니다.
에러 로그상 특별한 토큰 refresh 과정에서도 undefined refresh_token, refresh_token을(를) 확인할 수 없습니다 에러만이 확인되고 있습니다.

토큰 refresh에 실패하는 경우도 원인에 따라 아래처럼 두 에러가 발생할 수 있어
스테이터스 코드만으로 분기처리를 진행하셨다면 말씀하신 것 처럼 4번 과정으로 넘어가지 못하는 상황일 수 있습니다.

statusCode : 401
errorCode : BadUnauthorizedException
message : bad refreshToken, 잘못된 refreshToken 입니다

statusCode : 400
errorCode : UndefinedParameterException
message : undefined refresh_token, refresh_token을(를) 확인할 수 없습니다

관련 로직을 첨부합니다.

var appleIdToken = PlayerPrefs.GetString(AppleLogin.AppleIdToken);

로그인에 사용되는 액세스 토큰의 경우, 1회성 토큰이기 때문에 로그인 이후에는 최대 1일이 지나면 토큰을 사용할 수 없게 됩니다.
따라서 appleIdToken을 저장하여 계속 사용하는 것은 에러가 발생할 확률이 높습니다.
appleLogin.AutoLogin 로직은 cb값이 어떠한 값인지 확인이 불가능하여 답변이 불가한 점 양해 부탁드립니다.