Last Updated: 9/15/2022, 9:42:56 AM

# User Accounts

# Overview

User Accounts allow people to access your platform. This includes not only your players, but also everyone at your organization who has access to the Admin Portal.

There are two types of users: Admin and non-Admin. Admin users are allowed to access the Admin Portal, so this includes your colleagues at your organization. Non-Admin users, on the other hand, cannot access the Admin Portal. Non-Admin users are players. Player accounts can be managed by Admin users in the Admin Portal.

# Permissions

Permissions are used to grant access to specific resources within our services. Here are some of the basic permissions you’ll need to work with accounts, but there are many other aspects of account management. For a full list of permissions that impact account management, see the IAM tab of the permissions reference

Usage Resource Action
Find/Update/Delete a User NAMESPACE:{namespace}:USER Read/Update/Delete
Invite a Player/Admin User ADMIN:NAMESPACE:{namespace}:USER:INVITE CREATE
Get User by ID NAMESPACE:{namespace}:USER:{userId} Read
Get User’s Information NAMESPACE:{namespace}:USER:{userId}:INFORMATION Read
Reset User’s Password ADMIN:NAMESPACE:{namespace}:USER:PASSWORD Update
Get User’s Login Histories ADMIN:NAMESPACE:{namespace}:USER:{userId}:HISTORY:LOGIN Read

Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.

# IAM Input Validation

With AccelByte Cloud’s IAM Input Validation service, you can customize how players register and log into your game. IAM input validation allows you to set the parameters of your players’ usernames, display names, passwords, and the emails used to sign up to your games.

# Username

When your players first set up an account, they will choose their username. Follow the steps below to learn how to customize username parameters for your game namespace.

  1. In your desired game namespace, click on Platform Configurations in the top right-hand corner, and select IAM Input Validation.

    iam-input-validation

  2. On the IAM Input Validation page, you can select between Username, Display Name, Password, or Email Address. Select Username and fill in the following required Validation fields:

    iam-input-validation

    iam-input-validation

    • Minimum Length: input the minimum character length for a username.
    • Maximum Length: input the maximum character length for a username.
    • Custom Regex: if you toggle this option to Active, a new text box will appear (replacing the remaining fields listed below). Fill in the new Regex text box with your own custom regex pattern.
    • Letter Case: select whether players can use Lowercase, Uppercase, Mixed, or Any.
    • Allow Non Alphanumeric: toggle this option Active to allow symbols such as [',.-].
    • Allow Space: toggle this option to Active to allow spaces.
  3. The Localization Description section is used to inform your players of your username requirements. Your namespace’s default language will appear automatically.

    • Language: use this to specify which language you are writing for. The first description will be your default language.
      • + Add Localization Description: click this button to add another language. A new description section will appear. You can delete a language description by clicking the Delete Description button above the language you wish to delete. You cannot delete your default language.
    • Description: write your text here. This will be visible to players when they create an account in your game.
      • + Add (x/10): click this button to add a line. You can delete a line by clicking the bin icon to the right of the line you wish to delete. You can have a maximum of 10 lines. The + Add (x/10) button shows you how many lines you have active (where x denotes your active number).
  4. When you are finished, click Save at the bottom of the page to save and activate your configuration.

# Display Name

When your players first set up an account, they will choose their display name. Follow the steps below to learn how to customize display name parameters for your game namespace.

  1. In your desired game namespace, click on Platform Configurations in the top right-hand corner, and select IAM Input Validation.

    iam-input-validation

  2. On the IAM Input Validation page, select or scroll down to Display Name and fill in the following required Validation fields:

    iam-input-validation

    iam-input-validation

    • Minimum Length: input the minimum character length for a username.
    • Maximum Length: input the maximum character length for a username.
    • Custom Regex: if you toggle this option to Active, a new text box will appear (replacing the remaining fields listed below). Fill in the new Regex text box with your own custom regex pattern.
    • Letter Case: select whether players can use Lowercase, Uppercase, Mixed, or Any.
    • Allow Special Character: toggle this option to Active to allow symbols. If you toggle this option, the following fields will appear:
      • Special Character: list the special characters you want to allow in display names.
      • Special Character Location: choose to allow characters either in the Middle of display names or Anywhere in display names.
      • Max Repeating Special Character in a Row: choose how many times the same character can be repeated consecutively.
    • Allow Space: toggle this option to Active to allow spaces.
    • Allow Unicode Character: toggle this option to Active to allow Unicode characters.

NOTE

If Allow Unicode Character is set to Inactive, players who make accounts via 3rd parties and have a Unicode character in their 3rd party display name will receive an error. To avoid this, set Allow Unicode Character to Active.

  1. The Localization Description section is used to inform your players of your display name requirements. Your namespace’s default language will appear automatically.

    • Language: use this to specify which language you are writing for. The first description will be your default language.
      • + Add Localization Description: click this button to add another language. A new description section will appear. You can delete a language description by clicking the Delete Description button above the language you wish to delete. You cannot delete your default language.
    • Description: write your text here. This will be visible to players when they create an account in your game.
      • + Add (x/10): click this button to add a line. You can delete a line by clicking the bin icon to the right of the line you wish to delete. You can have a maximum of 10 lines. The + Add (x/10) button shows you how many lines you have active (where x denotes your active number).
  2. When you are finished, click Save at the bottom of the page to save and activate your configuration.

# Password

When your players first set up an account, they will choose their password. Follow the steps below to learn how to customize password parameters for your game namespace.

  1. In your desired game namespace, click on Platform Configurations in the top right-hand corner, and select IAM Input Validation.

    iam-input-validation

  2. On the IAM Input Validation page, select or scroll down to Password and fill in the following required Validation fields:

    iam-input-validation

    iam-input-validation

    • Minimum Length: input the minimum character length for a username.
    • Maximum Length: input the maximum character length for a username.
    • Custom Regex: if you toggle this option to Active, a new text box will appear (replacing the remaining fields listed below). Fill in the new Regex text box with your own custom regex pattern.
    • Allow Letter: toggle this option to Active if you want to allow passwords to use letters.
    • Require Mixed Case (Uppercase and Lowercase): toggle this option to Active if you want to require that passwords have a mix of cases.
    • Allow Number: toggle this option to Active if you want to allow passwords to use numbers.
    • Allow Special Character: toggle this option to Active to allow symbols.
    • Minimum Criteria: choose the minimum criteria for a password. For example, if you select 3, then players will need to use 3 of the 4 criteria of letters, numbers, mixed case, and special characters when creating their password.
    • Max Repeating Character in a Row: choose how many times the same character can be repeated consecutively.
  3. The Localization Description section is used to inform your players of your display name requirements. Your namespace’s default language will appear automatically.

    • Language: use this to specify which language you are writing for. The first description will be your default language.
      • + Add Localization Description: click this button to add another language. A new description section will appear. You can delete a language description by clicking the Delete Description button above the language you wish to delete. You cannot delete your default language.
    • Description: write your text here. This will be visible to players when they create an account in your game.
      • + Add (x/10): click this button to add a line. You can delete a line by clicking the bin icon to the right of the line you wish to delete. You can have a maximum of 10 lines. The + Add (x/10) button shows you how many lines you have active (where x denotes your active number).
  4. When you are finished, click Save at the bottom of the page to save and activate your configuration.

# Email Address

When your players first set up an account, they need to choose an email to associate with their account. Follow the steps below to learn how to customize the emails you allow to be used in your game.

  1. In your desired game namespace, click on Platform Configurations in the top right-hand corner, and select IAM Input Validation.

    iam-input-validation

  2. On the IAM Input Validation page, select or scroll down to Email Address and fill in the following required Validation fields:

    iam-input-validation

    iam-input-validation

    • Minimum Length: input the minimum character length for a username.
    • Maximum Length: input the maximum character length for a username.
    • Regex: Fill in the Regex text box with your own custom regex pattern.
  3. In the Banned Words section, you can add words, phrases, character combinations, or domains that you want to reject from being able to create an account with your game. This can be used to bulk deny email addresses from known fake domains or using other criteria.

    • Add Word: click this button to add to your Banned Words list. You can add separate words or phrases, separated by a comma. The banned words in this field are not case-sensitive. To delete a banned word, click Delete in the Action column of the word you want to delete.
  4. The Localization Description section is used to inform your players of your display name requirements. Your namespace’s default language will appear automatically.

    • Language: use this to specify which language you are writing for. The first description will be your default language.
      • + Add Localization Description: click this button to add another language. A new description section will appear. You can delete a language description by clicking the Delete Description button above the language you wish to delete. You cannot delete your default language.
    • Description: write your text here. This will be visible to players when they create an account in your game.
      • + Add (x/10): click this button to add a line. You can delete a line by clicking the bin icon to the right of the line you wish to delete. You can have a maximum of 10 lines. The + Add (x/10) button shows you how many lines you have active (where x denotes your active number).
  5. When you are finished, click Save at the bottom of the page to save and activate your configuration.

# Manage Accounts in the Admin Portal

# Search for a User

  1. In the desired namespace of the Admin Portal, expand the Users Management section and click Users.

    account-management

  2. Select the search filter from the dropdown menu in the Search User panel that corresponds to the user’s account information that you have on hand.

    account-management

    Then, type the user’s credential into the text box and press Enter to search. The search results will appear.

    account-management

    If you choose to search for a player using a 3rd Party Platform credential, two new dropdown menus will appear. From the first dropdown menu, select the 3rd party platform your player comes from, just as Steam or Epic Games. In the second dropdown menu select either Platform Display Name or Platform User ID, depending on which credential you have.

    account-management

# Invite a Player

You can also quickly invite your colleagues to create player accounts from the Admin Portal. This can be useful for play testing purposes. To invite your team to create player accounts for your game, follow the steps below:

  1. In the desired namespace of the Admin Portal, expand the Users Management section and click Users.

    account-management

  2. Click the Invite User button in the top-right corner of the page.

    account-management

  3. The Invite User form appears. Input the users’ email address that you want to invite. You can invite more than one user at once by pressing Enter, Tab, or Comma on your keyboard to separate each email address.

    account-management

  4. When you’re finished, click the Invite button. Invitations will be sent to the email addresses you provided.

    IMPORTANT

    The invitation email is only valid for 60 minutes. If the invited user does not complete account registration within 60 minutes of receiving the email, you’ll need to send them a new invitation.

# Invite an Admin User

You can also quickly invite your colleagues or community managers from your game to the Admin Portal. To do so, follow the steps below:

  1. In the Admin Portal, open the Platform Configurations menu in the top-right corner of the page and click Admins.

    account-management

  2. On the Admin page, click the Invite Admin button.

    account-management

  3. The Invite Admin form appears. Fill in the fields with the following information:

    • In the Assigner Email field, enter the email address for each person that you wish to give admin access to. You can invite more than one user at once by pressing Enter, Tab, or Comma on your keyboard to separate each email address.

    • In the Roles field, choose the roles that you want the new admins to have.

      NOTE

      You can also add other roles to the user later by following the steps in the Roles documentation.

    • The Namespace field appears after you select your roles. In the Namespace field, select the checkbox next to each namespace you want the new admins to have access to.

      NOTE

      The Namespace field won’t appear if you chose a global role in the previous step, because global roles can access all namespaces.

    account-management

  4. When you’re finished, click the Invite button. Invitations will be sent to the email addresses you provided.

    IMPORTANT

    The invitation email is only valid for 60 minutes. If the invited admin user does not complete account registration within 60 minutes of receiving the email, you’ll need to send them a new invitation.

# Change a User’s Email Address

You can follow the procedure below to change any user’s email address, including your own:

  1. In the Admin Portal, expand the Users Management section and click Users.

    account-management

  2. Select the search filter from the dropdown menu in the Search User panel that corresponds to the player’s account information that you have on hand. Then type that information in the text box and press Enter to search.

    account-management

    TIP

    Fuzzy search is allowed here, so you can find the player you’re looking for by typing just the first few characters of the player’s credential that you have.

  3. The results of your search will appear. Browse the list to find the account you’re looking for and click View in the Action column of the account listing to open it.

    account-management

  4. The User Overview will appear, giving you a quick look at the user’s account data. Click Change under the user’s email address to change it.

    account-management

  5. To change a user’s email address, first you’ll need to verify your identity. In the Change User’s Email confirmation box that appears, click the Send Verification Code button to send a verification code to the email address with which you’re logged into the Admin Portal.

    account-management

  6. The Change User’s Email confirmation box changes to show two forms. Enter the verification code that was sent to your email address in the Verify your identity field, and enter a new email address for the user in the Set new email address for the user field. Once you’re done, click the Confirm button.

    account-management

  7. You’ll be redirected back to the User Overview page. The user will be sent a verification message to their old email address.

    account-management

  8. After the user confirms the update, their email address will be changed automatically.

    account-management

# View a User’s Event Log

The User Event Log shows you the history of any changes or actions made by a user, such as when a user logged into the portal or downloaded their personal data. You will only be able to see events from namespaces for which you have permission to view users’ login histories.

  1. In the desired namespace of the Admin Portal, expand the Users Management section and click Users.

    account-management

  2. Select the search filter from the dropdown menu in the Search User panel that corresponds to the player’s account information that you have on hand. Then type that information in the text box and press Enter to search.

    account-management

    TIP

    Fuzzy search is allowed here, so you can find the player you’re looking for by typing just the first few characters of the player’s credential that you have.

  3. The results of your search will appear. Browse the list to find the account you’re looking for and click View in the Action column of the account listing to open it.

    account-management

  4. The User Overview will appear, giving you a quick look at the user’s account data. Click the Log tab.

    account-management

  5. On the Logs tab, you will see a list of user logs, the namespace they belong to, and the time each log was created. You can sort the logs by creation time and or namespace to help you find a particular log.

    account-management

  6. To open a log, click View in that log’s Action column.

    account-management

  7. The Event Log Details window appears. Here you can see the log’s contents.

    account-management

# View a User’s Edit History

The account history feature allows you to see changes made to account data by users. The information available includes changes made to a user’s Display Name, Email Address, Password, or Date of Birth.

  1. In the Admin Portal, expand the Users Management section and click Users.

    account-management

  2. Select the search filter from the dropdown menu in the Search User panel that corresponds to the player’s account information that you have on hand. Then type that information in the text box and press Enter to search.

    account-management

    TIP

    Fuzzy search is allowed here, so you can find the player you’re looking for by typing just the first few characters of the player’s credential that you have.

  3. The results of your search will appear. Browse the list to find the account you’re looking for and click View in the Action column of the account listing to open it.

    account-management

  4. In the Users menu of the Admin Portal, open the desired user and click View Account History to get their edit history.

    account-management

  5. Input the Start and End Date of the time period for which you want to retrieve the history. For example, here we input 2020-07-27 to 2020-08-04 to see the changes the user made to their Display Name within that time period.

    account-management

    You can also view the edit history for other fields, such as Email Address, Password, or Date of Birth.

    account-management

# View a User’s Experience Advancement History

NOTE

See our Cloud Season Pass documentation to find out how to advance a user’s experience in the Admin Portal.

  1. On the Season Pass Details section of the User page, click View History beside the Total Exp.

    account-management

  2. The Exp Acquisition History page will appear. Here, you can view the advancement history of the selected user.

    account-management

Use the following procedure to link third party accounts.

# AccelByte Cloud User Structure

Every player who registers to AccelByte Cloud is given a user publisher unique identifier regardless of how they registered. Headless accounts are also given user publisher unique identifiers in case they later want to upgrade to a full AccelByte account.

account-management

# Account Linking with a 3rd-Party Account

There are several ways of linking an AccelByte account with a 3rd-party account.

# Web

Players can link a 3rd-party account through the AccelByte Cloud Portal with either a new or existing AccelByte account.

account-management

Accounts can also be linked if a player requests a manual link after they have logged in. This method will still follow the standard login flow and will check whether the 3rd-party account in question is already linked to another AccelByte account. The linking request will be rejected if the 3rd-party account is already linked to an existing AccelByte account as we do not allow force linking.

# In-game

Players can link a 3rd-party account through your game directly. This can be done with a new or existing AccelByte account, or through a headless account (created automatically when a player links their 3rd-party account).

For new or existing accounts, the linking flow is the same as Web linking above. The flow for headless accounts is as follows:

account-management

Clients can customize how the in-game login flow operates; you can force the player to upgrade their headless account to an AccelByte account when they link their 3rd-party account, or you can allow players to play without upgrading.

NOTE

Due to progression and 3rd-party regulations, players are unable to link more than one 3rd-party account from a specific 3rd-party, i.e., a player can only link one Steam account to their AccelByte account. This rule is true even if players unlink their previous Steam account before attempting to link a new one.

Use the following procedure to link 3rd-party accounts.

  1. In the Admin Portal, select Users under the Users Management section.

    account-management

  2. Search for the player whose account you want to link.

    account-management

  3. Once you have found the desired account, select View in the Action column of the account listing to open it.

    account-management

  4. The User Overview page will appear with an overview of the player’s account data. Select the Linked Accounts tab.

    account-management

  5. On the Linked Accounts tab, click the Link an Account button.

    account-management

  6. The Link an Account popup will appear. Fill in the following information:

    • In the Platform ID field, select the desired 3rd-party platform from the dropdown menu. The 3rd-party platforms currently available are:
      • XBox Web
      • PSN Web
      • Epic Games
      • Stadia
      • Steam Web
      • Facebook
      • Google
      • Apple
      • Twitch
    • Fill the Platform User ID with the player’s account ID.

    account-management

    Once completed, click Link.

  7. A confirmation message will appear. Check the information you have entered is correct and click Confirm to proceed.

    account-management

  8. The new linked account will be added to the Linked Accounts list.

    account-management

  1. In the Admin Portal, select Users under the Users Management section.

    account-management

  2. Search for the player whose account you want to unlink.

    account-management

  3. Once you have found the desired account, select View in the Action column of the account listing to open it.

    account-management

  4. The User Overview page will appear with an overview of the player’s account data. Select the Linked Accounts tab.

    account-management

  5. On the Linked Accounts tab, select the 3rd-party account you want to unlink and click Unlink under the Action column.

    account-management

  6. A Delete Item popup will appear. Click Unlink to proceed.

    account-management

  7. The selected 3rd-party account will be removed from the list.

    account-management

# Implement Accounts Using the Client SDKs

# In-Game Player Registration

This function allows your players to register for an account in your game.

# Player Verifies Registration

This function allows a player to verify their account registration, which they must do before they can log into their account.

# Player Upgrades a Headless Account

This function upgrades a headless account by linking the headless account with the email address and password.

# Player Login with Username and Password Without 2FA Enabled

This function shows how players can log into your game using a verified account.

# Get Account Data for the Currently Signed-in User

Getting user data retrieves all of the personal data for the player that’s logged in.

# Get User Data in Bulk

You can retrieve public player data by submitting user IDs for the desired players using the following function. Public player data includes the AvatarUrl of a player’s avatar, their DisplayName, and their UserId.

# Connect Custom Services to Event Log using the Server SDKs

# SDK Initialization

Before using the Event Log service from the SDK, you will need to initialize your server-side SDK to ensure that you are authorized and able to perform create, read, update, and delete actions.

# Golang SDK Initialization

Before using the Event Log service from the Golang SDK, you will need to initialize the SDK by following the steps below:

Once completed, you can use the Golang SDK to create, read, update, or delete the Event Log (opens new window) from your serverless app.

Golang test case files (opens new window)

# Python SDK Initialization

Before using the Event Log service from the Python SDK, you will need to initialize the SDK by following the steps below:

Once completed, you can use the Python SDK to create, read, update, or delete the Event Log (opens new window) from your serverless app.

Python test case files (opens new window)

# .NET (C#) SDK Initialization

Before using the Event Log service, you will need to set some permissions. Use the following .NET namespaces:

using AccelByte.Sdk.Api.Eventlog.Model;
using AccelByte.Sdk.Api.Eventlog.Operation;
using AccelByte.Sdk.Api.Eventlog.Wrapper;

.NET (C#) test case files (opens new window)

# Java SDK Initialization

Before using the Event Log service, you will need to set some permissions. Initialize the EventV2 wrapper from the Event Log service using the following code:

EventV2 wEvent = new EventV2(sdk);

Once completed, you can use the SDK to create, read, update, or delete event logs.

Java test case files (opens new window)

# Retrieve a List of Events

Use the following function to retrieve a list of events (opens new window):

# Retrieve User’s Events

Use the following function to retrieve a specific user's events (opens new window).

# Connecting Custom Services to User Account using the Server SDK

# SDK Initialization

Before using the IAM service from the SDK you need to initialize your server-side SDK to make you authorized and able to perform any action from create, read, update, and delete.

# Golang SDK Initialization

To start using the IAM service from the Golang SDK, you need to initialize the SDK by making sure that you’ve done the following requirements.

On a successful initialization, you can use the Golang SDK to create, read, update and delete User (opens new window) from your serverless app.

# .NET (C#) SDK Initialization

Before using the IAM service, you will need to set some permissions. Use the following .NET namespaces:

using AccelByte.Sdk.Api.Iam.Model;
using AccelByte.Sdk.Api.Iam.Operation;
using AccelByte.Sdk.Api.Iam.Wrapper;

# Java SDK Initialization

Before using the IAM service, you will need to set some permissions. Initialize the UsersV4 wrapper from the IAM service using the following code:

UsersV4 wIamUserV4 = new UsersV4(sdk);

Once completed, you can use the SDK to create, read, update, or delete players.

# Create a User

To create a user (opens new window), use the following function.

# Create Users in Bulk

If you need to create multiple user at once for testing purposes, you could create a loop statement based on the Create a User code as seen in the following snippet.

# Delete a User

To delete a user (opens new window), use the following function.

# Delete Users in Bulk

If you need to delete multiple user at once for testing purposes, you could create a loop statement based on the Delete a User code as seen in the following snippet.

# Get a User By User ID

To get a user by their user ID (opens new window), use the following function.

# Update a User

To update user’s information (opens new window), use the following function.

  • To learn how to enable 3rd party login for your players, read the 3rd Party Login Integration documentation.
  • User access to resources is controlled by the roles assigned to that user. To learn more, read the Roles documentation.