Method: accounts.signInWithGameCenter

iOS Game Center 사용자 인증 정보를 사용하여 사용자를 로그인 또는 가입 처리합니다. 로그인에 성공하면 인증된 사용자에게 새 Identity Platform ID 토큰과 갱신 토큰이 발급됩니다. 번들 ID는 요청 헤더에 x-ios-bundle-identifier로 필요합니다.

Google Cloud 프로젝트를 식별하려면 요청에 API 키가 필요합니다.

Apple에서 playerID 필드를 지원 중단했습니다. Apple 플랫폼 Firebase SDK는 버전 10.5.0 이상부터 gamePlayerIDteamPlayerID를 사용합니다. SDK 버전 10.5.0 이상으로 업그레이드하면 playerID를 사용하는 기존 통합이 대신 gamePlayerIDteamPlayerID를 사용하도록 업데이트됩니다. signInWithGameCenter를 호출할 때는 새 필드 gamePlayerIDteamPlayerID와 함께 playerID를 포함해야 모든 기존 사용자를 식별할 수 있습니다.

기존 Game Center 로그인 통합을 SDK 버전 10.5.0 이상으로 업그레이드하면 되돌릴 수 없습니다.

HTTP 요청

POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "playerId": string,
  "publicKeyUrl": string,
  "signature": string,
  "salt": string,
  "timestamp": string,
  "idToken": string,
  "displayName": string,
  "tenantId": string,
  "teamPlayerId": string,
  "gamePlayerId": string
}
필드
playerId

string

필수 입력란입니다. 사용자의 Game Center 플레이어 ID입니다. Apple에서 지원 중단했습니다.

gamePlayerIDteamPlayerID와 함께 playerID를 전달하여 사용자의 Game Center 플레이어 ID를 gamePlayerID로 이전을 시작합니다.

publicKeyUrl

string

필수 입력란입니다. 지정된 서명이 Apple에서 서명되었는지 확인하기 위해 Apple 공개 키를 가져오는 URL입니다.

signature

string

필수 입력란입니다. Apple에서 생성한 인증 서명 데이터입니다.

salt

string

필수 입력란입니다. 지정된 서명을 생성하는 데 사용되는 임의의 문자열입니다.

timestamp

string (int64 format)

필수 입력란입니다. Apple에서 서명을 생성한 시간입니다(단위: 에포크 이후 경과된 밀리초).

idToken

string

Identity Platform 계정의 유효한 ID 토큰입니다. 이 ID 토큰이 있는 경우 이 요청은 Game Center 플레이어 ID를 이 ID 토큰으로 표시된 계정에 연결합니다.

displayName

string

사용자의 Game Center 표시 이름입니다.

tenantId

string

사용자가 로그인하는 Identity Platform 테넌트의 ID입니다.

teamPlayerId

string

사용자의 Game Center 팀 플레이어 ID입니다. 개발자 계정을 사용하여 배포하는 모든 게임의 플레이어를 위한 고유 식별자입니다. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

사용자의 Game Center 게임 플레이어 ID입니다. 게임 플레이어의 고유 식별자입니다. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid

응답 본문

accounts.signInWithGameCenter의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "localId": string,
  "playerId": string,
  "idToken": string,
  "refreshToken": string,
  "expiresIn": string,
  "isNewUser": boolean,
  "displayName": string,
  "teamPlayerId": string,
  "gamePlayerId": string
}
필드
localId

string

인증된 사용자의 ID입니다. 응답에 항상 표시됩니다.

playerId

string

사용자의 Game Center 플레이어 ID입니다.

gamePlayerIDteamPlayerID와 함께 playerID를 전달하여 사용자의 Game Center 플레이어 ID를 gamePlayerID로 이전을 시작합니다.

idToken

string

인증된 사용자의 Identity Platform ID 토큰입니다.

refreshToken

string

인증된 사용자의 Identity Platform 갱신 토큰입니다.

expiresIn

string (int64 format)

ID 토큰이 만료될 때까지 남은 시간(초)입니다.

isNewUser

boolean

로그인한 사용자가 이 요청에 의해 생성되었는지 여부입니다.

displayName

string

인증된 사용자의 표시 이름입니다.

teamPlayerId

string

사용자의 Game Center 팀 플레이어 ID입니다. 개발자 계정을 사용하여 배포하는 모든 게임의 플레이어를 위한 고유 식별자입니다. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

사용자의 Game Center 게임 플레이어 ID입니다. 게임 플레이어의 고유 식별자입니다. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 Authentication Overview를 참고하세요.