Documentation

LoginWithXbox

Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls which require an authenticated user

Request Details

If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Xbox Live account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account.

LoginWithXboxRequest
Request Properties
CreateAccount Boolean

Automatically create a PlayFab account if one is not currently linked to this ID.

EncryptedRequest String

Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only).

InfoRequestParameters GetPlayerCombinedInfoRequestParams

Flags for which pieces of info to return for the user.

PlayerSecret String

Player secret that is used to verify API request signatures (Enterprise Only).

TitleId (required) String

Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected.

XboxToken String

Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", "").

POST https://{{TitleID}}.playfabapi.com/Client/LoginWithXbox
    Content-Type: application/json
{
  "XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
  "CreateAccount": false,
  "TitleId": "1"
}
        

Response Details

LoginResult
Result Properties
EntityToken EntityTokenResponse

If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and returned.

InfoResultPayload GetPlayerCombinedInfoResultPayload

Results for requested info.

LastLoginTime DateTime

The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue

NewlyCreated (required) Boolean

True if the account was newly created on this login.

PlayFabId String

Player's unique PlayFabId.

SessionTicket String

Unique token authorizing the user and game at the server level, for the current session.

SettingsForUser UserSettings

Settings specific to this user.

TreatmentAssignment TreatmentAssignment

The experimentation treatments for this user at the time of login.

Sample Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
  "code": 200,
  "status": "OK",
  "data": {
    "SessionTicket": "50DF92E291CCD4C3---A54F-8D3909FF54DEE10-B7817722BC94E536.A6DCCFE1C9709ABB",
    "PlayFabId": "50DF92E291CCD4C3",
    "NewlyCreated": false
  }
}

Authentication

None

Possible Error Codes

Name Code
ExpiredXboxLiveToken 1189
InvalidXboxLiveToken 1188
RequestViewConstraintParamsNotAllowed 1303
XboxInaccessible 1339
XboxRejectedXSTSExchangeRequest 1343
XboxXASSExchangeFailure 1306