게스트 로그인 관련

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

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

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

  • 뒤끝 SDK 버전 : 5.7.2
  • 프로젝트명 : 전설의 파티
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

게스트 로그인의 경우 한 기기에 최초 설치 할때 게스트 로그인이 되었다면

그 기기에 어플을 재설치하는 경우

  1. 게스트 로그인 정보가 사라지나요?
  2. 게스트 로그인 정보를 다시 되찾는 방법이 아예 없나요?
  3. 그럼 재설치하는 경우 게스트 로그인 정보 삭제함수를 사용해야 하나요?
  4. 만약 3번이 그렇다면 최초 설치 이용자이든 재설치 이용자이든 일단은 게스트 로그인 정보 삭제함수를 우선 실행시킨뒤 게스트 로그인을 시도하는게 좋을까요?
  5. 게스트 로그인 정보는 대체 어떻게 관리되나요?
  6. path에 존재해서 어플 삭제시 같이 사라지는줄 알았는데, 삭제해도 어딘가에 남나요?

안녕하세요 개발자님,
문의하신 내용에 대해 순차적으로 답변드립니다.

  1. 게스트 로그인 정보가 사라지나요?
    → 로컬 데이터 삭제, 앱 재설치(재설치 과정에서 로컬데이터가 삭제되지 않은 경우 제외), 기기 변경, 로컬 데이터 손상이 발생하면 기기 내에 게스트 로그인 정보가 없기에 해당 계정으로 게스트 로그인을 시도할 수 없습니다. (서버에는 유저 정보가 남아있습니다.)

  2. 게스트 로그인 정보를 다시 되찾는 방법이 아예 없나요?
    → 뒤끝의 게스트 로그인은 커스텀 로그인을 기반으로 제공되고 있습니다.
    따라서 로컬데이터가 삭제된 경우 서버에 유저 정보가 남아있다 하더라도 로그인을 위한 암호 정보를 확인할 수 없기에 로그인이 불가합니다.
    (단, 게스트 계정에 이메일 정보를 등록한 경우 비밀번호 초기화 메일을 송신할 수 있습니다. 이것을 이용하여 비밀번호를 초기화할 수 있지만, 비밀번호를 초기화 한 경우 SDK 내부 게스트 계정의 비밀번호와 실제 계정의 비밀번호가 달라지게 됩니다. 따라서 이 경우 게스트 로그인이 아닌 커스텀 로그인을 통해서 로그인이 가능합니다.)

  3. 그럼 재설치하는 경우 게스트 로그인 정보 삭제함수를 사용해야 하나요?
    → 로컬데이터가 삭제된 경우라면 별도의 삭제함수는 필요하지 않습니다.

  4. 만약 3번이 그렇다면 최초 설치 이용자이든 재설치 이용자이든 일단은 게스트 로그인 정보 삭제함수를 우선 실행시킨뒤 게스트 로그인을 시도하는게 좋을까요?
    → 일반적인 경우 삭제함수의 호출은 필요하지 않지만, 재설치 과정에서 로컬데이터가 삭제되지 않고 남아있다면 삭제함수의 호출이 필요합니다.

  5. 게스트 로그인 정보는 대체 어떻게 관리되나요?
    → 서버를 통해 유저 데이터가 저장되어 보관되며, 클라이언트(로컬)에는 로그인을 위한 계정 정보가 보관 관리됩니다.

  6. path에 존재해서 어플 삭제시 같이 사라지는줄 알았는데, 삭제해도 어딘가에 남나요?
    → 삭제함수 호출 또는 로컬데이터 삭제 시에도 게스트 계정 정보만이 삭제되는 것이기에 유저 정보는 서버에 남아있어 콘솔을 통해서 확인이 가능합니다.

문의하신 내용들에 대해서는 개발자 문서를 통해서도 상세히 안내되고 있습니다.

친절한 답변 감사합니다. 좀더 여쭤보면 게스트로그인 시의 스테이터스 코드 401이 두가지 종류가 있고 둘이 문서를 보니 완전 똑같던데 구분방법이 없을까요? 그리고 401코드의 첫번째가 로컬데이터 손상? 이었는데 이건 어떤 경우에 발생하나요?

발생 에러는
스테이터스 코드, 에러 코드, 메시지 이 세가지를 모두 활용하여 구분해주셔야 합니다.

존재하지 않는 아이디의 경우 (로컬데이터가 변조된 경우)
statusCode : 401
errorCode : BadUnauthorizedException
message : bad customId, 잘못된 customId 입니다

위 에러는 말 그대로 로컬데이터가 변조되어 게스트 로그인 ID 데이터가 변경된 경우에 해당합니다.

Screenshot_20230103-150838_Chrome

요기 보시면 401코드 둘다 같은 내용인데 정확히 둘중에 무엇때문에 발생한 에러인지 알 수 있을까요?

현재 이용하고 계신 프로젝트에서 발생되고 있는 에러를 문의하시는 것이 맞으실까요?
앞서 안내드린 것과 같이 에러 발생 시에는, 에러 메시지 정보까지 직접 함께 확인하여 대응해 주시는 것이 맞습니다.

네넵 맞습니다. 해당 에러가 떠서 말씀하신 에러정보를 모두 확인해보니 캡쳐드린 401 둘중에 하나인데 두 에러의 구분을 어떻게 해야할까요? 보시다시피 에러내용이 전부 동일합니다

현재 개발자님의 프로젝트에서는
낮 12시 15분 경 다음 안내드리는 에러들이 마지막으로 발생한 것으로 확인됩니다.

  • 스테이터스 코드 : 401
  • 에러 코드 : BadUnauthorizedException
  • 에러 메시지 : bad bad google accessToken, 잘못된 bad google accessToken 입니다
  • 스테이터스 코드 : 401
  • 에러 코드 : BadUnauthorizedException
  • 에러 메시지 : bad packageName, 잘못된 packageName 입니다

에러 발생시에는 메시지까지 확인하여 대응을 진행해 주셔야 합니다.

  • bad packageName, 잘못된 packageName 입니다
    위 에러는 콘솔을 통해 패키지 네임이 등록되지 않아 발생하는 에러입니다.
    [콘솔 - 서버 설정 - 인증 정보] 메뉴를 통해 패키지 네임을 등록하신 후 재시도 해주시면 감사하겠습니다.

  • bad bad google accessToken, 잘못된 bad google accessToken 입니다
    해당 에러는 뒤끝의 accessToken 이 아닌 구글의 accessToken 정보가 잘못되어 발생하는 에러입니다.
    우선적으로 패키지 네임을 등록하여 재시도 해주시고, 동일 에러가 발생하는 경우 구글 로그인 후 구글로부터 넘어오는 토큰 값을 확인해 주세요.

답변 덕분에 일부 해결한것 같습니다만 추가로 또 여쭤보겠습니다.

Social.localUser.authenticated 변수와
Social.localUser.Authenticate() 함수의 역할이 무엇인가요?

뒤끝 개발자 문서에 나오지 않는 내용이라 질문드립니다

GPGS 로그인을 확인하는 역할을 합니다.

이미 구글 로그인을 시도하여 성공한 적 있다면 authenticated가 true가 되며,
Authenticate 함수는 GPGS 로그인 함수입니다.

좋아요 1