SDK for Unity (PC, web) / Silent authentication via publishing platform
  Back to Docs

SDK for Unity (PC, web)

Silent authentication via publishing platform

Silent authentication allows users to log into you application without having to enter their credentials again. With this type of authentication, the Xsolla Login server uses the credentials that the user provided on the application’s publishing platform.

Note
Silent authentication is currently supported for the Steam, Xbox Live and Epic Games platforms. If you need support for the Stone or Mail.ru platforms, contact your Account Manager.

To implement silent authentication via the publishing platform:

  1. Set up the application in the platform developer account.
  2. Set up silent authentication in Publisher Account.
  3. Complete integration steps on your application’s side.

Set up silent authentication

In the Login product, two approaches to enabling silent authentication are implemented:

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.

To enable silent authentication in the classic login option:

  1. Open your project in Publisher Account and go to the Login section.
  2. Click Configure in the panel of a classic login option.
  3. On the navigation page, go to the Authentication block and select the Publishing platforms section.

  1. To connect a publishing platform, click the ⚙ icon next to its name and select Settings.
  1. In the modal window, specify the parameters for the selected platform:
    • Steam:
      • Application ID — AppID of your account on the platform;
      • Application secret keyWeb 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.
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.
  1. Click Connect.
  2. Repeat steps 4 – 6 for other publishing platforms, if required.

Integrate on application side

  1. Integrate the publishing platform SDK into your application.
  2. Implement the logic of obtaining the session ticket:
  1. Implement user authentication logic using SDK methods:
    • SilentAuth — exchanges the session ticket from the publishing platform to JSON Web Token (JWT) and authenticates the user.
    • OAuthLogout — ends the active user session.
Note
Silent authentication via Steam is implemented in the demo project. You can use the SteamAuth.cs class as an example. If you use the demo project as the initial version of the authentication system, you can set up silent authentication via Steam by following the How to set up native authentication via Steam guide.
Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.

Useful links

Last updated: October 10, 2023

Found a typo or other text error? Select the text and press Ctrl+Enter.

Report a problem
We always review our content. Your feedback helps us improve it.
Provide an email so we can follow up
Thank you for your feedback!