Faz login ou registra um usuário com credenciais do Game Center do iOS. Se o login for bem-sucedido, um novo token de ID e de atualização do Identity Platform será emitido para o usuário autenticado. O ID do pacote é obrigatório no cabeçalho da solicitação como x-ios-bundle-identifier
.
Uma chave de API é necessária na solicitação para identificar o projeto do Google Cloud.
A Apple descontinuar o uso do campo playerID
. O SDK do Firebase para plataformas da Apple vai usar o gamePlayerID
e o teamPlayerID
a partir da versão 10.5.0. O upgrade para as versões do SDK a partir da 10.5.0 atualiza as integrações que usam playerID
para que usem gamePlayerID
e teamPlayerID
em vez disso. Ao fazer chamadas para signInWithGameCenter
, é necessário incluir playerID
com os novos campos gamePlayerID
e teamPlayerID
para identificar todos os usuários.
O upgrade das integrações de login do Game Center para as versões do SDK a partir da 10.5.0 é irreversível.
Solicitação HTTP
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter
O URL usa a sintaxe de transcodificação gRPC.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "playerId": string, "publicKeyUrl": string, "signature": string, "salt": string, "timestamp": string, "idToken": string, "displayName": string, "tenantId": string, "teamPlayerId": string, "gamePlayerId": string } |
Campos | |
---|---|
playerId |
Obrigatório. O ID do player do Game Center do usuário. Descontinuado pela Apple. Transmita |
publicKeyUrl |
Obrigatório. O URL para buscar a chave pública da Apple e verificar se a assinatura foi assinada pela Apple. |
signature |
Obrigatório. Os dados de assinatura de verificação gerados pela Apple. |
salt |
Obrigatório. Uma string aleatória usada para gerar a assinatura. |
timestamp |
Obrigatório. O momento em que a assinatura foi criada pela Apple, em milissegundos desde a época. |
idToken |
Um token de ID válido para uma conta do Identity Platform. Se presente, essa solicitação vai vincular o ID do jogador do Game Center à conta representada por esse token de ID. |
displayName |
O nome de exibição do usuário no Game Center. |
tenantId |
O ID do locatário do Identity Platform em que o usuário está fazendo login. |
teamPlayerId |
O ID do jogador da equipe do Game Center do usuário. Um identificador exclusivo de um jogador de todos os jogos que você distribui usando sua conta de desenvolvedor. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
O ID do jogador do jogo do Game Center do usuário. Um identificador exclusivo para um jogador do jogo. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
Corpo da resposta
Mensagem de resposta para accounts.signInWithGameCenter
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "localId": string, "playerId": string, "idToken": string, "refreshToken": string, "expiresIn": string, "isNewUser": boolean, "displayName": string, "teamPlayerId": string, "gamePlayerId": string } |
Campos | |
---|---|
localId |
O ID do usuário autenticado. Sempre presente na resposta. |
playerId |
O ID do player do Game Center do usuário. Transmita |
idToken |
Um token de ID do Identity Platform para o usuário autenticado. |
refreshToken |
Um token de atualização do Identity Platform para o usuário autenticado. |
expiresIn |
O número de segundos até o token de ID expirar. |
isNewUser |
Indica se o usuário conectado foi criado por essa solicitação. |
displayName |
Nome de exibição do usuário autenticado. |
teamPlayerId |
O ID do jogador da equipe do Game Center do usuário. Um identificador exclusivo de um jogador de todos os jogos que você distribui usando sua conta de desenvolvedor. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
O ID do jogador do jogo do Game Center do usuário. Um identificador exclusivo para um jogador do jogo. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
Para mais informações, consulte Authentication Overview.