SDKs for Unity / Silent authentication via publishing platform
 Back to Docs

SDKs for Unity

  • Integration guide

  • Demo project

  • Authentication

  • Catalog

  • Subscriptions

  • Promotions

  • Item purchase

  • Player inventory

  • User account and attributes

  • Application build guides

  • Troubleshooting


  • 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:

      • For Steam, get the session ticket.
      • For Xbox Live, form a session ticket 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
      • For Epic Games, get the authorization code (exchange code) from the platform that is generated after user authentication and is used as a session ticket.

    1. Implement user authentication logic using SDK methods:

      • SilentAuth — exchanges the session ticket from the publishing platform to Java Web Token (JWT) and authenticates the user.
      • OAuthLogout — ends the active user session.
    SDK reference documentation
    Learn more about SDK methods and its parameters.
    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.
    Rate this page
    Rate this page
    Is there anything we can improve?

    Don’t want to answer

    Thank you for your feedback!

    Useful links

    Last updated: November 14, 2022

    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!