iOS Game Center 사용자 인증 정보를 사용하여 사용자를 로그인 또는 가입 처리합니다. 로그인에 성공하면 인증된 사용자에게 새 Identity Platform ID 토큰과 갱신 토큰이 발급됩니다. 번들 ID는 요청 헤더에 x-ios-bundle-identifier
로 필요합니다.
Google Cloud 프로젝트를 식별하려면 요청에 API 키가 필요합니다.
Apple에서 playerID
필드를 지원 중단했습니다. Apple 플랫폼 Firebase SDK는 버전 10.5.0 이상부터 gamePlayerID
및 teamPlayerID
를 사용합니다. SDK 버전 10.5.0 이상으로 업그레이드하면 playerID
를 사용하는 기존 통합이 대신 gamePlayerID
및 teamPlayerID
를 사용하도록 업데이트됩니다. signInWithGameCenter
를 호출할 때는 새 필드 gamePlayerID
및 teamPlayerID
와 함께 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 |
필수 입력란입니다. 사용자의 Game Center 플레이어 ID입니다. Apple에서 지원 중단했습니다.
|
publicKeyUrl |
필수 입력란입니다. 지정된 서명이 Apple에서 서명되었는지 확인하기 위해 Apple 공개 키를 가져오는 URL입니다. |
signature |
필수 입력란입니다. Apple에서 생성한 인증 서명 데이터입니다. |
salt |
필수 입력란입니다. 지정된 서명을 생성하는 데 사용되는 임의의 문자열입니다. |
timestamp |
필수 입력란입니다. Apple에서 서명을 생성한 시간입니다(단위: 에포크 이후 경과된 밀리초). |
idToken |
Identity Platform 계정의 유효한 ID 토큰입니다. 이 ID 토큰이 있는 경우 이 요청은 Game Center 플레이어 ID를 이 ID 토큰으로 표시된 계정에 연결합니다. |
displayName |
사용자의 Game Center 표시 이름입니다. |
tenantId |
사용자가 로그인하는 Identity Platform 테넌트의 ID입니다. |
teamPlayerId |
사용자의 Game Center 팀 플레이어 ID입니다. 개발자 계정을 사용하여 배포하는 모든 게임의 플레이어를 위한 고유 식별자입니다. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
사용자의 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 |
인증된 사용자의 ID입니다. 응답에 항상 표시됩니다. |
playerId |
사용자의 Game Center 플레이어 ID입니다.
|
idToken |
인증된 사용자의 Identity Platform ID 토큰입니다. |
refreshToken |
인증된 사용자의 Identity Platform 갱신 토큰입니다. |
expiresIn |
ID 토큰이 만료될 때까지 남은 시간(초)입니다. |
isNewUser |
로그인한 사용자가 이 요청에 의해 생성되었는지 여부입니다. |
displayName |
인증된 사용자의 표시 이름입니다. |
teamPlayerId |
사용자의 Game Center 팀 플레이어 ID입니다. 개발자 계정을 사용하여 배포하는 모든 게임의 플레이어를 위한 고유 식별자입니다. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
사용자의 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를 참고하세요.