Method: accounts.signInWithGameCenter

Connecte ou inscrit un utilisateur avec des identifiants Game Center iOS. Si la connexion réussit, un nouveau jeton d'ID Identity Platform et un nouveau jeton d'actualisation sont émis pour l'utilisateur authentifié. L'ID de bundle est obligatoire dans l'en-tête de la requête sous la forme x-ios-bundle-identifier.

Une clé API est requise dans la requête pour identifier le projet Google Cloud.

Apple a abandonné le champ playerID. Le SDK Firebase pour la plate-forme Apple utilisera gamePlayerID et teamPlayerID à partir de la version 10.5.0. La mise à niveau vers la version 10.5.0 ou ultérieure du SDK remplace les intégrations existantes qui utilisent playerID par gamePlayerID et teamPlayerID. Lorsque vous appelez signInWithGameCenter, vous devez inclure playerID ainsi que les nouveaux champs gamePlayerID et teamPlayerID pour identifier correctement tous les utilisateurs existants.

La mise à niveau des intégrations existantes de connexion Game Center vers la version 10.5.0 du SDK ou une version ultérieure est irréversible.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "playerId": string,
  "publicKeyUrl": string,
  "signature": string,
  "salt": string,
  "timestamp": string,
  "idToken": string,
  "displayName": string,
  "tenantId": string,
  "teamPlayerId": string,
  "gamePlayerId": string
}
Champs
playerId

string

Obligatoire. ID de joueur Game Center de l'utilisateur. Obsolète par Apple.

Transmettez playerID avec gamePlayerID et teamPlayerID pour lancer la migration de l'ID de joueur Game Center d'un utilisateur vers gamePlayerID.

publicKeyUrl

string

Obligatoire. L'URL permettant d'extraire la clé publique Apple pour valider la signature donnée est signée par Apple.

signature

string

Obligatoire. Données de signature de validation générées par Apple.

salt

string

Obligatoire. Chaîne aléatoire utilisée pour générer la signature donnée.

timestamp

string (int64 format)

Obligatoire. Heure à laquelle la signature a été créée par Apple, en millisecondes depuis l'epoch.

idToken

string

Jeton d'ID valide pour un compte Identity Platform. Si elle est présente, cette requête associera l'ID de joueur Game Center au compte représenté par ce jeton d'ID.

displayName

string

Nom à afficher de l'utilisateur dans Game Center.

tenantId

string

ID du locataire Identity Platform auquel l'utilisateur se connecte.

teamPlayerId

string

ID de joueur de l'équipe Game Center de l'utilisateur. Identifiant unique d'un joueur de tous les jeux que vous distribuez à l'aide de votre compte de développeur. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

ID de joueur Game Center de l'utilisateur. Identifiant unique d'un joueur du jeu. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid

Corps de la réponse

Message de réponse pour accounts.signInWithGameCenter

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "localId": string,
  "playerId": string,
  "idToken": string,
  "refreshToken": string,
  "expiresIn": string,
  "isNewUser": boolean,
  "displayName": string,
  "teamPlayerId": string,
  "gamePlayerId": string
}
Champs
localId

string

ID de l'utilisateur authentifié. Toujours présent dans la réponse.

playerId

string

ID de joueur Game Center de l'utilisateur.

Transmettez playerID avec gamePlayerID et teamPlayerID pour lancer la migration de l'ID de joueur Game Center d'un utilisateur vers gamePlayerID.

idToken

string

Jeton d'ID Identity Platform de l'utilisateur authentifié.

refreshToken

string

Jeton d'actualisation Identity Platform de l'utilisateur authentifié.

expiresIn

string (int64 format)

Nombre de secondes avant l'expiration du jeton d'ID.

isNewUser

boolean

Indique si l'utilisateur connecté a été créé par cette requête.

displayName

string

Nom à afficher de l'utilisateur authentifié.

teamPlayerId

string

ID de joueur de l'équipe Game Center de l'utilisateur. Identifiant unique d'un joueur de tous les jeux que vous distribuez à l'aide de votre compte de développeur. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

ID de joueur Game Center de l'utilisateur. Identifiant unique d'un joueur du jeu. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

Pour en savoir plus, consultez Authentication Overview.