Meldet einen Nutzer mit iOS-Game Center-Anmeldedaten an oder registriert ihn. Wenn die Anmeldung erfolgreich ist, werden für den authentifizierten Nutzer ein neues Identity Platform-ID-Token und ein neues Aktualisierungstoken ausgestellt. Die Bundle-ID ist im Anfrageheader als x-ios-bundle-identifier
erforderlich.
In der Anfrage ist ein API-Schlüssel erforderlich, um das Google Cloud-Projekt zu identifizieren.
Apple hat das Feld „playerID
“ eingestellt. Das Firebase SDK für die Apple-Plattform verwendet ab Version 10.5.0 gamePlayerID
und teamPlayerID
. Wenn Sie auf die SDK-Version 10.5.0 oder höher upgraden, werden vorhandene Integrationen, in denen playerID
verwendet wird, auf gamePlayerID
und teamPlayerID
umgestellt. Wenn Sie signInWithGameCenter
aufrufen, müssen Sie playerID
zusammen mit den neuen Feldern gamePlayerID
und teamPlayerID
angeben, um alle vorhandenen Nutzer zu identifizieren.
Ein Upgrade vorhandener Game Center-Anmeldeintegrationen auf die SDK-Version 10.5.0 oder höher ist nicht rückgängig zu machen.
HTTP-Anfrage
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter
Die URL verwendet die Syntax der gRPC-Transcodierung.
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
JSON-Darstellung |
---|
{ "playerId": string, "publicKeyUrl": string, "signature": string, "salt": string, "timestamp": string, "idToken": string, "displayName": string, "tenantId": string, "teamPlayerId": string, "gamePlayerId": string } |
Felder | |
---|---|
playerId |
Pflichtangabe. Die Game Center-Spieler-ID des Nutzers. Von Apple eingestellt. Gib |
publicKeyUrl |
Pflichtangabe. Die URL, unter der der öffentliche Apple-Schlüssel abgerufen wird, um die angegebene Signatur zu überprüfen, ist von Apple signiert. |
signature |
Pflichtangabe. Die von Apple generierten Daten der Bestätigungssignatur. |
salt |
Pflichtangabe. Ein zufälliger String, der zum Generieren der angegebenen Signatur verwendet wird. |
timestamp |
Pflichtangabe. Der Zeitpunkt, zu dem die Signatur von Apple erstellt wurde, in Millisekunden seit der Epoche. |
idToken |
Ein gültiges ID-Token für ein Identity Platform-Konto. Wenn vorhanden, wird mit dieser Anfrage die Game Center-Spieler-ID mit dem Konto verknüpft, das durch dieses ID-Token dargestellt wird. |
displayName |
Der Game Center-Anzeigename des Nutzers. |
tenantId |
Die ID des Identity Platform-Mandanten, bei dem sich der Nutzer anmeldet. |
teamPlayerId |
Die Spieler-ID des Nutzers im Game Center-Team. Eine eindeutige Kennung für einen Spieler aller Spiele, die Sie über Ihr Entwicklerkonto vertreiben. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
Die Game Center-Spieler-ID des Nutzers. Eine eindeutige Kennung für einen Spieler des Spiels. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
Antworttext
Antwortnachricht für accounts.signInWithGameCenter
Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:
JSON-Darstellung |
---|
{ "localId": string, "playerId": string, "idToken": string, "refreshToken": string, "expiresIn": string, "isNewUser": boolean, "displayName": string, "teamPlayerId": string, "gamePlayerId": string } |
Felder | |
---|---|
localId |
Die ID des authentifizierten Nutzers. Muss immer in der Antwort vorhanden sein. |
playerId |
Die Game Center-Spieler-ID des Nutzers. Gib |
idToken |
Ein Identity Platform-ID-Token für den authentifizierten Nutzer. |
refreshToken |
Ein aktualisierter Identity Platform-Token für den authentifizierten Nutzer. |
expiresIn |
Die Anzahl der Sekunden, bis das ID-Token abläuft. |
isNewUser |
Gibt an, ob der angemeldete Nutzer durch diese Anfrage erstellt wurde. |
displayName |
Anzeigename des authentifizierten Nutzers. |
teamPlayerId |
Die Spieler-ID des Nutzers im Game Center-Team. Eine eindeutige Kennung für einen Spieler aller Spiele, die Sie über Ihr Entwicklerkonto vertreiben. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
Die Game Center-Spieler-ID des Nutzers. Eine eindeutige Kennung für einen Spieler des Spiels. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
Autorisierungsbereiche
Erfordert einen der folgenden OAuth-Bereiche:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
Weitere Informationen finden Sie unter Authentication Overview.