Permite que un usuario acceda o se registre con credenciales de Game Center para iOS. Si el acceso se realiza de forma correcta, se emiten un nuevo token de ID y un token de actualización de Identity Platform para el usuario autenticado. El ID del paquete es obligatorio en el encabezado de la solicitud como x-ios-bundle-identifier
.
Se requiere una clave de API en la solicitud para identificar el proyecto de Google Cloud.
Apple dio de baja el campo playerID
. El SDK de Firebase para plataformas de Apple usará gamePlayerID
y teamPlayerID
desde la versión 10.5.0 en adelante. Si actualizas a la versión 10.5.0 o posterior del SDK, se actualizarán las integraciones existentes que usan playerID
para usar gamePlayerID
y teamPlayerID
. Cuando realices llamadas a signInWithGameCenter
, debes incluir playerID
junto con los campos nuevos gamePlayerID
y teamPlayerID
para identificar correctamente a todos los usuarios existentes.
La actualización de las integraciones de acceso a Game Center existentes a la versión 10.5.0 o posterior del SDK es irreversible.
Solicitud HTTP
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "playerId": string, "publicKeyUrl": string, "signature": string, "salt": string, "timestamp": string, "idToken": string, "displayName": string, "tenantId": string, "teamPlayerId": string, "gamePlayerId": string } |
Campos | |
---|---|
playerId |
Obligatorio. El ID de jugador de Game Center del usuario. Apple dio de baja esta función. Pasa |
publicKeyUrl |
Obligatorio. Apple firma la URL para recuperar la clave pública de Apple y verificar la firma determinada. |
signature |
Obligatorio. Los datos de la firma de verificación que genera Apple |
salt |
Obligatorio. Es una cadena aleatoria que se usa para generar la firma determinada. |
timestamp |
Obligatorio. Es la hora en la que Apple creó la firma, expresada en milisegundos desde la época. |
idToken |
Un token de ID válido para una cuenta de Identity Platform Si está presente, esta solicitud vinculará el ID de jugador de Game Center a la cuenta representada por este token de ID. |
displayName |
El nombre visible de Game Center del usuario. |
tenantId |
El ID del grupo de usuarios de Identity Platform al que accede el usuario. |
teamPlayerId |
El ID de jugador del equipo de Game Center del usuario Es un identificador único para un jugador de todos los partidos que distribuyes con tu cuenta de desarrollador. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
El ID de jugador del juego de Game Center del usuario. Es un identificador único para un jugador del juego. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
Cuerpo de la respuesta
Mensaje de respuesta para accounts.signInWithGameCenter
Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "localId": string, "playerId": string, "idToken": string, "refreshToken": string, "expiresIn": string, "isNewUser": boolean, "displayName": string, "teamPlayerId": string, "gamePlayerId": string } |
Campos | |
---|---|
localId |
El ID del usuario autenticado. Siempre está presente en la respuesta. |
playerId |
El ID de jugador de Game Center del usuario. Pasa |
idToken |
Un token de ID de Identity Platform para el usuario autenticado. |
refreshToken |
Un token de actualización de Identity Platform para el usuario autenticado. |
expiresIn |
Es la cantidad de segundos hasta que vence el token de ID. |
isNewUser |
Indica si esta solicitud creó el usuario que accedió. |
displayName |
Es el nombre visible del usuario autenticado. |
teamPlayerId |
El ID de jugador del equipo de Game Center del usuario Es un identificador único para un jugador de todos los partidos que distribuyes con tu cuenta de desarrollador. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
El ID de jugador del juego de Game Center del usuario. Es un identificador único para un jugador del juego. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
Permisos de autorización
Se necesita uno de los siguientes permisos de OAuth:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
Para obtener más información, consulta Authentication Overview.