Creating and Managing Users and Chat Room Permissions
In this guide, we will go through the process of migrating to the new join modal. We will learn the following:
- What are provisioned users? And how to provision users?
- The new way to create moderators
- What are Chat Room Members and Permissions? And what is
provisioned users, and
- What is
- Different ways to log in user using
What are provisioned users?
There were two ways previously in Dead Simple Chat, using which you could log in users, one way was typing in the username or by using basic SSO and another way was creating an accessToken for the user using the API and logging in the user via the accessToken.
But there was no way to easily import all your existing users into Dead Simple Chat, and manage them from the dashboard. With the Users tab, you can import and provision the users, assign them an ID which is also called as the
uniqueUserIdentifier, add any metadata and import them into Dead Simple Chat.
Then you can easily log in the user you have created or imported via the
All the users that you have created via the new "Create User" API, through the dashboard or imported using the CSV are called the provisioned users.
How to Provision Users
There are multiple ways you can provision the users:
- The users can be provisioned through the "Users" page in the dashboard.
- Through the "Members" page inside each Chat Room Settings.
- Through the Users Import CSV template
- Through the "Create Users" REST API
Users page in the dashboard
Let's go through the process of provisioning users using the "Users" page in the dashboard.
Go to https://deadsimplechat.com/dashboard and navigate to the Users page.
On the Users Page, you can see the list of Users that are there, to provision a new user click on the "Create User" button.
You will be presented with a modal that will allow you to create a new user.
We will go through the fields provided in the Add Users Modal:
ID (uniqueUserIdentifier): This is a unique, alphanumeric identifier you assign to each user in your Dead Simple Chat account. It must be unique across your account. For instance, IDs like 1, 2, 3 are acceptable if they're not already in use. If you have a user database, you can use the same IDs from there, if not specified a random ID will be generated for the user.
username: Username that you want to set for the user. This is the only required field, the username does not have to be unique.
Profile Pic URL This has to be a https image URL.
First Name First Name of the user.
Last Name Last Name of the user.
Meta Metadata you want to specify for the user, you can also add JSON here.
After filling the fields and pressing the "Add User" button, a new user is provisioned in the system. Once the new user is created we are taken to the "Edit User" modal automatically.
The "Edit User" modal shows a "Member Chat Rooms" tab which allows us to make the User a Member of Chat Rooms, it also allows us to assign roles to the User like
moderator, we will learn about it in detail later in the document.
We also see
accessToken which we can use to log in the user along with the
uniqueUserIdentifier, we will also learn more about it later in the document.
You also see options to "deactivate" and "remove" the user.
What are Chat Room Members?
Any user who can join the chat room or has joined the chat room is a member of the chat room.
You can make the user a member of the chat room through the "Members" tab in "Edit User" or by creating the user under "Chat Room" -> Edit -> Members.
Each Member has different roles like "Guest", "User", "Moderator", and "Admin".
What are Chat Room Permission Levels?
To better understand the different Member roles, you first need to understand the chat room permission level.
For each chat room, you can set the permission level to:
- provisioned users
If the Chat Room Permission Level is set to
public anyone can join by simply typing in any username.
When the user types in a username and joins the chatroom, a user is created automatically with a
uniqueIdentifier beginning with the word
guest_ and the user is made a member of the Chat Room and its permission level is assigned as
provisioned users: When the Chat Room Permission Level is set to "Provisioned Users" then no one can join the chatroom by simply typing in the username.
Only users that you have provisioned can join the chat room, you can join the user via uniqueUserIdentifier or using the accessToken.
The user does not have to be explicitly a member of the chat room, but when the user joins a room, the user is added as a member of the chat room.
members only When the Chat Room Permission Level is set to Members Only then only provisioned users who are added as members can join the chat room.
Each Chat Room Member can have a role of:
Guest: When the chat room permission level is set to "public", any user can join the room by simply typing any username, a new user with that username is provisioned and the user is assigned the role of Guest.
User: This is a regular user of the chat room.
Moderator: A Moderator can moderate the chat room, approve messages, ban other users, delete messages, etc.
Admin: An Admin is similar to a moderator but is a higher level role than the moderator.
Making User a Member and Moderator of Chat Room
To make the user a Member of the Chat Room, let's revisit the "Edit User" modal and click on the "Member Chat Rooms" tab.
This tab shows a list of Chat Rooms the user is a member of, right now the user is not a member of any chatroom hence there is nothing under the section "Member chat rooms".
Under the "Available Chat Rooms" you can see the list of Chat Rooms you can make the user a member of, and there is a "Make Member" button, when you click the button the user is made a member of the chat room.
With the default role of "User" assigned to the user.
Now to make the user a Moderator, we can select the role to be "Moderator" from the "Roles" select box.
Moderators cannot log in using the
uniqueUserIdentifier, the moderators can only log in using the
Members Page in Edit Chat Room
Under the Edit Chat Room page in dashboard, there is a "Members" tab, the "Members" tab allow you to view, Add or Remove Chat Room members.
You can also set role of the Chat Room Members from the Members tab. When you click on the "Create User" button from the Members tab the User is automatically added as the Member of the chat room.
To create a new user and automatically add it as a member of the chat room, click on the "Create User" button under the members tab.
You will be shown the "Create User" modal, as shown in the image below.
The Create User Modal in the under the Members tab is slightly different from the Create User Modal in the Users tab, as it has a "Roles" options, which allow you to make create the user and also assign a Role at the time of creation.
As shown in the image below we have added a moderator to the chat room.
Login Users using the New Join Modal
The new Join Modal offers various options to login user:
- Unique User Identifier
- Access Token
Let's discuss each of the option available to login the user.
The option to login the user using the username is only available when the chat room permission level is set to public. The user can type-in any username to join the chatroom, and a new user is provisioned in the account of the specified username.
If the room permission is set to anything other than public, then field will be hidden.
Unique User Identifier
Unique User Identifier is a great way to login the user, once you have provisioned the user and you want to login that provisioned user, simply enter the "Unique User Identifier" for the user and login the user into the chat.
You just need to type in the ID of the user you wish to login, for e.g if the ID is
5f50e045b3c40867f1a2b13a just paste the Unique ID to login the user.
You cannot login Moderators using the "Unique User Identifier", you need to use
Access Token to login the moderators.
Access Token is a secure way to login the users into the chat room, when you click on the "Edit User" button, inside the "Edit User" modal you can view the accessToken which you can paste under the "Access Token" field to login.
You can use the "Access Token" field to login the "Admin" or "Moderator".