1

저는 현재 클라이언트 애플리케이션에서 Google 게임 라이브러리를 사용하여 로그인 할 수있는 백엔드 서비스를 사용하고 있습니다.Google Play 게임 서비스 ID 인증/인증?

사용자는 로그인하거나 이전 계정을 복원하기 위해 gplay id를 통해 Google을 보낼 수 있습니다. gplay id를 포함하여 사용자는 다음과 같이 Google에 전송합니다.

GPlay ID: gxxxxxxxxx 
GPGS client id: xxx-xxxxx.apps.googleusercontent.com 
GPGS auth code: 4/xxxxxxxx 
message_salt: <[email protected]> 

서버에서 위의 데이터를 사용하고 사용자가 그들이 우리를 보내는 것을 GPlay ID를 소유하고 있는지 확인하는 방법은 없나요?

현재 GPlay ID에 대한 사용자의 소유권을 인증하는 방법이 보이지 않습니다. 또한 클라이언트 ID 나 인증 코드와 비교할 수있는 확실한 방법이 보이지 않으며 사용자의 로그 기록 요청 GPlay ID를 사용하여 계정을 복원/복원하는 것은 합법적입니다.

위의 데이터로 사용자를 확인할 수있는 방법을 알고있는 사람이 있습니까?

답변

0

서버 인증 코드는 클라이언트에서 백엔드 서버로 전송해야하는 유일한 정보입니다. 서버 인증 코드를 사용하려면 다음을 수행하십시오.

  1. 클라이언트 응용 프로그램과 백엔드 서버 앱을 Play 콘솔의 동일한 게임 정의에 연결하십시오.

  2. Google 로그인 구성을 만들 때 requestServerAuthCode() 옵션을 추가하여 백엔드 응용 프로그램의 클라이언트 ID를 전달하십시오.

  3. 일단 사용자가 인증되면 GoogleAccount 개체에서 serverAuthCode를 가져옵니다.

  4. 백엔드 서버에 authCode를 전달하십시오.

  5. 서버에서 액세스 토큰에 대한 인증 코드를 교환하십시오. 이 토큰은 응용 프로그램과 사용자에 따라 다릅니다. 액세스 토큰을 새로 고쳐야하는 경우에 대비하여 서버에 새로 고침 토큰을 저장하십시오.

  6. 일단 액세스 토큰이 있으면 www.googleapis.com/games/v1/applications/<app_id>/verify/에게 GET 요청을 보내 토큰을 확인하십시오. 인증 된 플레이어에 대한 정보를 반환합니다. https://github.com/playgameservices/clientserverskeleton

    에서 클라이언트와 서버 측 코드 모두의 샘플이 있습니다