Login With Game Center
Signs the user in using an iOS Game Center player identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user. Logging in with a Game Center ID is insecure if you do not include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters in this request. It is recommended you require these parameters on all Game Center calls by going to the Apple Add-ons page in the PlayFab Game Manager and enabling the ‘Require secure authentication only for this app’ option.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| EncryptionKeyMissing | 1290 |
| EvaluationModePlayerCountExceeded | 1490 |
| GameCenterAuthenticationFailed | 1429 |
| InvalidGameCenterAuthRequest | 1428 |
| InvalidGameCenterId | 1554 |
| PlayerSecretAlreadyConfigured | 1294 |
| PlayerSecretNotConfigured | 1323 |
| RequestViewConstraintParamsNotAllowed | 1303 |
Body
The Game Center player identifier (https://developer.apple.com/library/ios/documentation/Accounts/Reference/ACAccountClassRef/index.html#//apple_ref/occ/instp/ACAccount/identifier) is a generated string which is stored on the local device. As with device identifiers, care must be taken to never expose a player's Game Center identifier to end users, as that could result in a user's account being compromised. If this is the first time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account will be created and linked to the Game Center identifier. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Game Center account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. If an invalid iOS Game Center player identifier is used, an error indicating this will be returned.
The Game Center player identifier (https://developer.apple.com/library/ios/documentation/Accounts/Reference/ACAccountClassRef/index.html#//apple_ref/occ/instp/ACAccount/identifier) is a generated string which is stored on the local device. As with device identifiers, care must be taken to never expose a player's Game Center identifier to end users, as that could result in a user's account being compromised. If this is the first time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account will be created and linked to the Game Center identifier. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Game Center account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. If an invalid iOS Game Center player identifier is used, an error indicating this will be returned.
Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected.
Automatically create a PlayFab account if one is not currently linked to this ID.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
Base64 encoded body that is encrypted with the Title's public RSA key.
Flags for which pieces of info to return for the user.
Unique Game Center player id.
Player secret that is used to verify API request signatures.
The URL for the public encryption key that will be used to verify the signature.
A random value used to compute the hash and keep it randomized.
The verification signature of the authentication payload.
The integer representation of date and time that the signature was created on. PlayFab will reject authentication signatures not within 10 minutes of the server's current time.
