게스트 계정 구글 연동

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

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

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

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

기존에 게스트 계정을 구글 계정으로 연동할 수 있는 기능이 있었던 걸로 기억하는데,
최근에 해당 기능을 적용하려고 하니 정확한 정보를 찾기 어려워서 문의 남깁니다.

  1. 게스트 계정을 구글 계정으로 연동 가능한가요? 만약 가능하다면 문서 어느 부분을 참조하면 될까요?
    구글 로그인은 GPGS v2 로 적용 중입니다.

  2. 게스트 구글 연동이 GPGS V2 라서 지원되지 않는 거라면 GPGS V1 이나 sign in with google 로 적용할 경우는 연동이 가능한가요? 마찬가지로 어느 문서를 참조하면 될까요?

안녕하세요 개발자님,
ChangeCustomToFederation 함수를 통해 게스트/커스텀 계정을 페더레이션 계정으로 전환시킬 수 있습니다.
아래 문서를 확인하여 이용해 주세요.

게스트 계정을 페더레이션으로 전환 시킬 경우 게스트 계정의 federationToken 은 어디서 받아올 수 있나요?

일반 패더레이션 로그인과 동일한 방법으로 받아와 적용해주시면 됩니다.
게스트 로그인을 먼저 진행한 후
AuthorizeFederation 함수 대신 ChangeCustomToFederation 함수를 호출하는 것이라 봐주시면 됩니다.
(GPGS V2 이용 시 게스트 로그인 후 GetGPGS2AccessToken 호출 후 ChangeCustomToFederation 를 호출하게됩니다.)

GPGS V2 및 play games 로그인 모두 적용하여 ChangeCustomToFederation 을 호출했는데, BadUnauthorizedException 오류가 납니다.
ChangeCustomToFederation 문서에서 해당 내용의 오류는 못 찾아서 정확히 어떤 오류인지 알 수 있을까요?

확인시 다음과 같은 에러들의 발생 기록이 확인됩니다.
발생 에러 기록상 첫번째 에러가 가장 많이 발생한 상황으로 확인됩니다.

페더레이션 전환에 사용되는 토큰값이 null 로 전송된 경우
statusCode : 400
errorCode : UndefinedParameterException
message : undefined federation_access_token, federation_access_token을(를) 확인할 수 없습니다

이미 ChangeCustomToFederation 완료되었는데 다시 시도한 경우
statusCode : 400
errorCode : BadParameterException
message : bad type, 잘못된 type 입니다

구글의 accessToken 정보가 잘못된 경우
statusCode : 401
errorCode : BadUnauthorizedException
message : bad bad google accessToken, 잘못된 bad googleToken입니다.

해당 내용들의 오류 들은 제가 GPGS 와 play games 로그인 테스트하면서 발생한 것으로 보입니다. 현재 GPGS 및 play games 로그인까지는 정상적으로 되는 것 확인 됐고, 가장 최근에 발생하고 있는 오류가 BadUnauthorizedException 내용 인데 해당 내용이 어떤 부분을 체크 해봐야 할지 몰라 질문 드립니다.

에러 메시지에 표시된 내용과 같이 구글 엑세스토큰 (페더레이션 토큰) 값이 잘못된 정보로 시도되어 발생하는 에러입니다.

GetGPGS2AccessToken 로 GPGS 의 액세스토큰을 받아오고 AuthorizeFederation GPGS2 로 로그인 성공까지 했는데 액세스 토큰이 잘못될 수 있나요? 아니면 해당 토큰 값으로 ChangeCustomToFederation 를 적용하는게 아닌가요?

GetGPGS2AccessToken 로 토큰을 받아오셨다면 AuthorizeFederation GPGS2가 아닌 ChangeCustomToFederation GPGS2를 통해 해당 토큰을 사용해주셔야 합니다.

게스트 로그인 => GetGPGS2AccessToken 호출 => ChangeCustomToFederation 호출 과정이 되어야하며, 과정에서 AuthorizeFederation 호출은 필요하지 않습니다.

말씀 하신대로 테스트 해봤는데 동일한 오류 발생합니다.

보다 정확한 확인을 위해 관련 코드 정보를 요청드립니다.
DM을 통해 전달해주시면 개발부서를 통해 상세히 확인하여 안내드리겠습니다.

전달해주신 코드 확인 시 페더레이션 타입을 Google로 설정하신 것으로 확인됩니다.
개발자 문서 내 파라미터 정보를 잘 확인하시어 GPGS2로 설정 후 시도해 주세요.

게스트 계정을 구글 계정으로 연동하는 기능을 적용하려고 하는데 파라미터 정보를 GPGS2 로 설정해야 게스트 계정이 구글 계정으로 연동 되는건가요?

GetGPGS2AccessToken 은 GPGS V2 로그인을 위한 값으로 GPGS V2에 사용되는 정보입니다.
하지만 해당 토큰 정보를 통해 GPGS V2 페더레이션 연동이 아닌 Google(Sign In with Google) 페더레이션 연동을 진행하려 했기에 에러가 발생한것입니다.

뒤끝에서는 페더레이션 연동은
Sign In with Google, GPGS V1, GPGS V2, Sign In with Apple, Steam, Facebook 이 제공되며,
각 조건에 맞는 페더레이션 토큰을 사용해주셔야 합니다.

개발자분께서 정확하게 어떤 로그인 기능을 사용하고자 하는지 확인하신 후 그에 맞는 토큰과 로그인, 그리고 페더레이션 전환 기능을 사용해 주시면 감사하겠습니다.

제가 가장 처음 문의를 남긴 게 게스트 계정과 구글 계정이 연동이 가능한지 그리고 참조할 문서가 어떻게 되는지 여쭤봤는데 ChangeCustomToFederation 문서 전달해주셔서 해당 함수로 적용한 상태입니다. ChangeCustomToFederation 문서를 리뷰 해보니 federationToken 값이 필요하여 GetGPGS2AccessToken 로 GPGS 까지 적용한 것이구요. 현재 답변을 해주시는 내용이 이해가 잘 안되는 상태인데, 그래서 정확히
게스트 계정을 구글 계정으로 연동하려면 어떻게 해야 한다는 말씀이신가요?

모든 게스트계정은 ChangeCustomToFederation 함수를 통해 페더레이션 계정으로 전환시킬 수 있으며,
ChangeCustomToFederation 함수는 파라미터 값에 따라 Google(Sign In with Google, GPGS V1), Facebook, Apple, Steam, GPGS2 모두를 페더레이션 전환시킬 수 있습니다.

게스트 계정을 구글 계정으로 연동 가능한가요? 만약 가능하다면 문서 어느 부분을 참조하면 될까요?
구글 로그인은 GPGS v2 로 적용 중입니다.

위 질문에 대해서는 가능한 부분이어 ChangeCustomToFederation 함수를 안내드렸으며, 구글 계정을 통해 GPGS V2를 적용하고 계시다 하셨기에,
이후 추가 문의에서 세가지의 구글 페더레이션 중 다음과 같은 GPGS V2에 대한 답변을 드렸습니다.

게스트 로그인을 먼저 진행한 후
AuthorizeFederation 함수 대신 ChangeCustomToFederation 함수를 호출하는 것이라 봐주시면 됩니다.
(GPGS V2 이용 시 게스트 로그인 후 GetGPGS2AccessToken 호출 후 ChangeCustomToFederation 를 호출하게됩니다.)

이 과정에서 개발자님께서는 ChangeCustomToFederation 함수 문서의 예제 코드를 확인하고 적용하셨지만,
문서 내의 예제 코드는 Google(Sign In with Google, GPGS V1) 로그인에 대한 예시 코드였기에 파라미터 값으로 FederationType.Google 이 적용되어 있어 에러가 발생했습니다

개발자님께서 GPGS V2를 통해 해당 함수를 정상 이용하시기 위해서는
코드 내에서 FederationType.Google 대신 FederationType.GPGS2를 적용해주셔야 하는 것입니다.

답변 감사드립니다.
제가 GPGS v2 를 적용했던 이유가 게스트 계정을 구글 계정으로 연동하기 위해서 필요하다고 판단하여 적용한 것인데, 말씀 하신 내용은 게스트 계정 → 구글 계정으로 연동 하는 작업에서 GPGS v2 없이도 가능한 것이라 봐도 될까요?

만약 그렇다면 Sign In with Google 로 적용하여 연동한다고 했을 때, 게스트 계정으로 로그인 이후 ChangeCustomToFederation 함수의 federationToken 값을 적용하려면 어디서 받아 와야 하나요?

반대로 게스트 → 구글 연동에 GPGS가 반드시 필요하다고 하면 GPGS V2 로 적용하여 FederationType.GPGS2 로 호출 시 게스트 계정이 구글 계정으로 전환 된 걸로 이해하면 될까요?
뒤끝 콘솔 내에서는 구글 이메일 계정과 연동된 것으로 보이지 않습니다.

현재 GPGS 가 중요한 것이 아니라 게스트 계정을 구글 계정과 연동하고자 하는 상황이라 정확히 게스트 계정을 구글 계정으로 전환하기 위해서 어떻게 적용 해야 하는지 문의 드립니다.

구글 계정을 통해서는 Sign In with Google, GPGS V1, GPGS V2 로그인이 가능하며,
게스트 계정을 페더레이션 전환을 원하시는 것이기에 모든 방법은 각 페더레이션 로그인의 AuthorizeFederation 함수 대신 ChangeCustomToFederation 함수를 사용해주시면 됩니다.
토큰 획득 및 함수 적용과 관련하여서는 각 개발자문서를 상세히 확인하여 주시면 감사하겠습니다.

https://docs.thebackend.io/sdk-docs/backend/base/user/federation/example-using-gpgs

계속 동일한 얘기를 하는 것 같아 죄송한데,
결론적으로 적용하고자 하는 내용은
게스트 계정 로그인 → ChangeCustomToFederation (FederationType.Google 타입으로) → 구글 계정 로그인 타입 전환하여
뒤끝 콘솔 유저 아이디에 guest-###### 로 적용됐던 계정을 test@gmail.com 와 같은 형태의 구글 계정으로 전환 하는 기능이 필요한 상황입니다.
전달 해주신 문서 내용에서 GPGS 가 아닌 Google 타입으로 전환하는 내용에 대한 건 어느 부분을 참조하면 되는 건가요?