Last Updated: 4/11/2022, 6:30:33 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.

# Managing 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

Use the following procedure to link third 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 third party platform from the dropdown menu. The third 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 third 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.

  7. The selected third party account will be removed from the list.

    account-management

# Implementing Accounts Using the SDK

# 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.

# Connecting Custom Services to Event Log using the Server SDK

# 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.

# 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.

# .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;

# 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.

# 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.