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 |
Obligatoire. ID de joueur Game Center de l'utilisateur. Obsolète par Apple. Transmettez |
publicKeyUrl |
Obligatoire. L'URL permettant d'extraire la clé publique Apple pour valider la signature donnée est signée par Apple. |
signature |
Obligatoire. Données de signature de validation générées par Apple. |
salt |
Obligatoire. Chaîne aléatoire utilisée pour générer la signature donnée. |
timestamp |
Obligatoire. Heure à laquelle la signature a été créée par Apple, en millisecondes depuis l'epoch. |
idToken |
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 |
Nom à afficher de l'utilisateur dans Game Center. |
tenantId |
ID du locataire Identity Platform auquel l'utilisateur se connecte. |
teamPlayerId |
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 |
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 |
ID de l'utilisateur authentifié. Toujours présent dans la réponse. |
playerId |
ID de joueur Game Center de l'utilisateur. Transmettez |
idToken |
Jeton d'ID Identity Platform de l'utilisateur authentifié. |
refreshToken |
Jeton d'actualisation Identity Platform de l'utilisateur authentifié. |
expiresIn |
Nombre de secondes avant l'expiration du jeton d'ID. |
isNewUser |
Indique si l'utilisateur connecté a été créé par cette requête. |
displayName |
Nom à afficher de l'utilisateur authentifié. |
teamPlayerId |
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 |
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.