Account linking
Link additional account for sign in
If you configured multiple user authentication options in your application, you can implement the ability to link an additional social network account or username, email address, and password. This allows users to:
- Use an alternative option to sign into the application, and not the one used during registration. For example, if a user used a device ID to log into the application for the first time, they can add a username, email address, and password and use these authentication details on the same or any other device.
- Use a different account to sign into the application than the one they signed up with. For example, if the user specified a Google account when they first signed into the application, they can also link their Discord account and use their Google or Discord account to sign in.
To implement account linking:
- In the application UI, add forms for entering data for an additional account.
- Implement the linking logic using the following SDK methods:
SDK method name | Description |
---|---|
AddUsernameEmailAuthToAccount | Adds a username, email address, and password, that can be used for authentication, to the current account. |
LinkSocialProvider | Links a social network that can be used for authentication to the current account. |
- A user who signed up with a username/email address and password logged into your application via a social network account.
- A social network provides access to the user’s email address.
- User email address in a social network is the same as the email address used for sign-up in your application.
Link platform account
If you are distributing your game on different platforms, including Steam, Xbox Live, and Epic Games, you can implement the logic of linking platform accounts to a main user account. This allows users to:
- have one game account for different platforms
- use cross-inventory for synchronizing user inventories on different platforms
Accounts linking flow
If the user has a main account, they can link a platform account to it during authentication on a platform:
- The user enters the game on the platform for the first time.
- The game UI shows a message that offers to link the platform account to their main account.
- The user launches the application and authenticates in their main account.
- The application sends a request for an account linking code to the Xsolla Login server.
- The application UI shows the user an account linking code.
- The user returns to the console version of the game and enters the code.
- The game server sends the request to link accounts to the Xsolla Login server.
- The console version of the game shows the confirmation message.
Implementation flow
- For an application build with a main account to which platform accounts will be linked:
- In Publisher Account, set up a standard Login project.
- Implement one of the user authentication options:
- In the application UI, add elements for requesting and showing an account linking code.
- Implement the logic of requesting the account linking code using the
RequestLinkingCode
SDK method and showing this code in the application UI.
- For the platform build:
- In Publisher Account, set up a shadow Login project.
- Implement one of the user authentication options:
- via custom ID
- silent authentication via a publishing platform
- Implement one of the user authentication options:
- In the application UI, add elements for entering an account linking code.
- On the application server, implement the account linking logic using the Link accounts by code API call.
Useful links
Found a typo or other text error? Select the text and press Ctrl+Enter.