Documentation

LoginWithSteam

Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently be used for API calls which require an authenticated user

Request Details

Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam authentication to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game Manager (under Steam in the Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group associated with your App ID in the Steamworks site. If this is the first time a user has signed in with the Steam account and CreateAccount is set to true, a new PlayFab account will be created and linked to the provided account's Steam ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Steam account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account.

LoginWithSteamRequest
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).

SteamTicket String

Authentication token for the user, returned as a byte array from Steam, and converted to a string (for example, the byte 0x08 should become "08").

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.

POST https://{{TitleID}}.playfabapi.com/Client/LoginWithSteam
    Content-Type: application/json
{
  "SteamTicket": "steamTicketID",
  "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
InvalidSteamTicket 1010
RequestViewConstraintParamsNotAllowed 1303
SteamNotEnabledForTitle 1258