Silent authentication
How it works
Silent authentication allows you to automatically authenticate users in your game via a publishing platform. The Steam, Xbox Live, and Epic Games platforms are currently supported. If you need support for the Stone or Mail.ru platforms, contact your Customer Success Manager or email to csm@xsolla.com.
Interaction flow:
- User launches your game.
- The game receives platform authorization data through the platform SDK.
- Your game generates and sends a request to the Xsolla Login server to get a JWT.
- The Xsolla Login server authenticates the user and sends the JWT.
Note
If you have integrated the Xsolla Launcher, use the instructions to authenticate users via platforms.
Who can use it
Partners who have already integrated Login and have a publishing platform account.
How to get it
- Set up silent authentication in Publisher Account.
- Complete integration steps on the side of your application.
Setting up silent authentication
In the Login product, two approaches to enabling silent authentication are implemented:
- by configuring the classic login option (see instructions below);
- by creating a shadow Login project (see How to set up a shadow Login project).
Note
The shadow Login project is required to create cross-platform accounts that allow users to play on different platforms under the same account, sync their inventory across platforms, etc. A shadow Login project is created for each publishing platform that hosts the game and is then tied to the main account of the user. See Cross-platform account for details.In the classic login option, you can enable silent authentication for several publishing platforms at once, but creating a cross-platform account is not possible. If a user logs into a game on one platform and then on another, the Login product will consider these logins as two different users.
- Open your project in Publisher Account and go to the Login section.
- Click Configure in the panel of a classic login option.
- Go to the Authentication block and select the Publishing platforms section.
- To connect a publishing platform, click the ⚙ icon next to its name and select Settings.
- In the modal window, specify the parameters for the selected platform:
- Steam:
- Application ID — AppID of your account on the platform;
- Application secret key — Web API Key.
- Epic Games:
- Application ID — Client ID of the client of your game on the platform;
- Application secret key — Secret key of the client of your game on the platform.
- Xbox Live:
- Application ID — Application ID/Client ID of your game on the platform;
- Application secret key — Application Secret generated when your game was registered on the platform.
- Steam:
Note
For the Xbox Live platform, it is not necessary to provide setting values. You can connect Xbox Live with access keys owned by Xsolla. To do this, click the ⚙ icon to the right of the platform name and select Connect.
- Click Connect.
- Repeat steps 4 – 6 for other publishing platforms, if required.
Application side integration
Use the instruction for the publishing platform that hosts your application:
Steam
Form a session ticket (session_ticket
parameter) based on the platform data after user authentication:- Get the session ticket.
- Pass it to the silent authentication request (JWT or OAuth 2.0) as a
session_ticket
parameter.
Xbox Live
- Form a session ticket (
session_ticket
parameter) based on the platform data after user authentication. The parameter is formed based on the<xid>-<uhs>;<XSTSToken>
template where: ;<xid>
— Xbox User ID ;<uhs>
— user hash .<XSTSToken>
— Xbox Secure Token Service
- Pass the
session_ticket
parameter to the silent authentication request (JWT or OAuth 2.0).
Epic Games
- Get the
exchangecode
authorization code from the platform, which is generated after user authentication. - Pass the received
exchangecode
to the silent authentication request (JWT or OAuth 2.0) as thesession_ticket
parameter.
Was this article helpful?
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.Found a typo or other text error? Select the text and press Ctrl+Enter.