AccelByte is not just a white label storefront for your to sell your games, it is also a comprehensive games backend as a service capable of provided cross platform and cross storefront user accounts, friends and matchmaking.

In this example we are envisioning that your game will be available through the Steam Store, the user has already logged into Steam, so we’d like to make it as easy as possible for your user to get into the game. Having your users enter their email and password for your white label account system every time they reinstall your game just doesn’t cut it any more.

So our user flow will work like this:

  1. User launches your game from Steam
  2. In the background while your game boots, it asks the integrate Steam SDK for an Authentication Token
  3. Your game passes that Steam Auth Token to AccelByte’s “PlatformTokenGrant” API call.
  4. AccelByte Platform checks against the Steam API, redeems the token, if valid, your user is logged in!

In order to set up and login with the Steam ticket, you’ll need an AccelByte Platform account with the correct permissions to Create, Read, Update and Delete Third Party Platform configurations.

The process is as follows:

1. Set the Basic Auth at https://demo.accelbyte.io/iam/apidocs/

2. Make the following call with https://demo.accelbyte.io/iam/apidocs/#!/OAuth/TokenGrant:

grant_type = password

username = The email you registered your AccelByte Platform account with

password = The password you registered your AccelByte Platform account with

3. Copy the access token from the response:

4. Scroll up to the top of Swagger and replace “Basic ABCDEFG123456” with “Bearer" + access_token:

5. Go to https://demo.accelbyte.io/iam/apidocs/#!/Third_Party_Credential/AddThirdPartyLoginPlatformCredentialV3 and configure with your Namespace, Steam App ID and Secret. You only need to configure this once. Once this is done it should remove the permission error.

Notes:
Please make sure the Steam Web API key is filled.
The client ID is intended to be empty as we don’t need it in this particular case.

6. You should see a successful response:

7. Now you should be able to log users in with the token returned from “https://partner.steamgames.com/doc/api/ISteamUser#GetAuthSessionTicket" using https://demo.accelbyte.io/iam/apidocs/#!/OAuth/PlatformTokenGrant .

Please remember to assign the Authorization Header with the value: Basic [base64 of clientId:clientSecret]

8. You should then be logged into the AccelByte Platform via a Steam user.

Update Steam Credentials Configuration

The process is as follows:

1. Set the Basic Auth at https://demo.accelbyte.io/iam/apidocs/

2. Make the following call with https://demo.accelbyte.io/iam/apidocs/#!/OAuth/TokenGrant:

grant_type = password

username = The email you registered your AccelByte Platform account with

password = The password you registered your AccelByte Platform account with

3. Copy the access token from the response:

4. Scroll up to the top of Swagger and replace "Basic ABCDEFG123456" with "Bearer" + access_token:

5. Call this endpoint to update your Steam credentials: https://demo.accelbyte.io/iam/apidocs/#!/Third_Party_Credential/UpdateThirdPartyLoginPlatformCredentialV3. Please specify the fields you want to update. In this case, we want to update Steam’s secret.

6. If it’s successful, then it would return a response as follows.

And that is it! Your users can now seamlessly log into your AccelByte backend without needing to enter any other information, combine this with an email linking system you now own the direct relationship with your customer! This workflow also applies to many of the other Third Party Providers.

If you have any questions, please reach out to us at support@accelbyte.io