PPSK User Creation
We will show you how to create PPSK users using the /endusers API in this tutorial.
# PPSK DB Location
There are two types of PPSK storage, Cloud and Local.
# Cloud
The Cloud PPSK utilizes the IDM (Identity Management) service provided by ExtremeCloud IQ, so the cloud stores and manages the PPSK users for the customer.
# Local
For Local PPSK users, the actual PPSK user information will be stored locally in the APs (access points).
# Create PPSK User
# Choose User Group
Before creating the PPSK user, you need to have an usergroup that is either stored in Local or Cloud.
You can use POST /usergroups to create a customized usergroup or use GET /usergroups to get the list of predefined usergroup by the system.
TIP
GA-ppsk-self-regis the predefined user group forCloudPPSK.GA-ppsk-user-deviceis the predefined user group forLocalPPSK.
NOTE
You will not be able to choose the PPSK storage type, since the user group already has that information.
# Define Password Format
Please note that the enable_letters, enable_numbers, and enable_special_characters defines the password format you choose to use when creating the PPSK user.
# Call the API
After you decide which user group to add the user to and have the user_group_id, you can create the PPSK user with POST /endusers API.
# Request body schema
The detailed request body schema is listed below:
| Field | Required | Description |
|---|---|---|
| user_group_id | Y | The usergroup ID for the user to add to |
| name | N | The name of the user |
| user_name | Y | The username of the PPSK user, must match name, email_address or phone_number |
| organization | N | The organization name |
| visit_purpose | N | The purpose of the visit |
| description | N | The user description |
| email_address | N | The user's email |
| phone_number | N | The user's phone number |
| password | Y | The user's password, must follow the usergroup's password rule and max length |
| email_password_delivery | N | The email to receive the password |
| sms_password_delivery | N | The phone number to receive the password |
# Example
# HTTP Request
POST /endusers HTTP/1.1
Content-Length: 352
Content-Type: application/json
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjdXN0MDAxLmNvbSIsInVzZXJfaWQiOjEsInJvbGUiOiJBZG1pbmlzdHJhdG9yIiwib3duZXJfaWQiOjEwMiwiZGF0YV9jZW50ZXIiOiJVU19
{
"user_group_id" : 1,
"name" : "test-user-1",
"user_name" : "test-user-1",
"organization" : "DEFAULT",
"visit_purpose" : "GUEST",
"description" : "this is test user1",
"email_address" : "test1@google.com",
"phone_number" : "123456789",
"password" : "***",
"email_password_delivery" : null,
"sms_password_delivery" : "123456789"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# cURL Request
curl 'http://localhost:8080/endusers' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjdXN0MDAxLmNvbSIsInVzZXJfaWQiOjEsInJvbGUiOiJBZG1pbmlzdHJhdG9yIiwib3duZXJfaWQiOjEwMiwiZGF0YV9jZW50ZXIiOiJVU19XRVNUIiwic2NvcGVzIjpbImF1dGgiLCJhdXRoOnIiLCJ0b2tlbjpuZXciLCJwZXJtOmNoZWNrIiwiYWNjb3VudCIsImFjY291bnQ6ciIsInZpcTpiYWNrdXAiLCJ1c2VyIiwidXNlcjpyIiwiaGlxIiwiaGlxOnIiLCJoaXE6ZW5hYmxlIiwib3JnIiwib3JnOm5ldyIsIm9yZzpkZWwiLCJvcmc6cmVuYW1lIiwiaGlxLmN0eCIsImhpcS5jdHg6ciIsImhpcS5jdHg6dyIsImRldmljZSIsImRldmljZTpyIiwiZGV2aWNlOmxpc3QiLCJkZXZpY2U6dmlldyIsImRldmljZTpuZXciLCJkZXZpY2U6ZGVsIiwiZGV2aWNlOmNsaSIsImRldmljZTpkZXBsb3kiLCJkZXZpY2U6bWFuYWdlIiwiZGV2aWNlOnVubWFuYWdlIiwiZGV2aWNlOnJlYm9vdCIsImNsaWVudCIsImNsaWVudDpyIiwibG9jYXRpb25zIiwibG9jYXRpb25zOnIiLCJuZXR3b3JrLXBvbGljeSIsInBvbGljeTpzc2lkIiwibmV0d29yay1wb2xpY3k6ciIsInNzaWQiLCJzc2lkOnIiLCJwY2c6a2V5IiwicGNnOmtleTpyIiwic3Vic2NyaXB0aW9ucy13ZWJob29rIiwic3Vic2NyaXB0aW9ucy13ZWJob29rOnIiLCJjY2ciLCJjY2c6ciIsImxvZyIsImxvZzpyIiwiY3dwIiwiY3dwOnIiLCJzbXMtdG1wbCIsInNtcy10bXBsOnIiLCJjbGFzcy1ydWxlIiwiY2xhc3MtcnVsZTpyIiwidXNlci1wcm9maWxlIiwidXNlci1wcm9maWxlOnIiLCJyYWRpdXMtcHJveHkiLCJyYWRpdXMtcHJveHk6ciIsInJhZGl1cy1zZXJ2ZXIiLCJyYWRpdXMtc2VydmVyOnIiLCJ1c2VyZ3JvdXAiLCJ1c2VyZ3JvdXA6ciIsImRlcGxveW1lbnQiLCJkZXBsb3ltZW50OnIiLCJhZC1zZXJ2ZXIiLCJhZC1zZXJ2ZXI6ciIsImFwcCIsImFwcGxpY2F0aW9uOnIiLCJsMy1hZGRyZXNzLXByb2ZpbGUiLCJsMy1hZGRyZXNzLXByb2ZpbGU6ciIsInZsYW4tcHJvZmlsZSIsInZsYW4tcHJvZmlsZTpyIiwiZW5kdXNlciIsImVuZHVzZXI6ciIsInJhZGl1cy1jbGllbnQtb2JqZWN0IiwicmFkaXVzLWNsaWVudC1vYmplY3Q6ciIsImxkYXAtc2VydmVyIiwibGRhcC1zZXJ2ZXI6ciIsImVtYWlsLXRlbXBsYXRlIiwiZW1haWwtdGVtcGxhdGU6ciIsImNlcnRpZmljYXRlIiwiY2VydGlmaWNhdGU6ciJdLCJjdXN0b21lcl9pZCI6MSwiY3VzdG9tZXJfbW9kZSI6MCwiaGlxX2VuYWJsZWQiOnRydWUsIm9yZ19pZCI6MCwicXVvdGEiOiI3NTAwO3c9MzYwMCIsInNoYXJkIjoiVVMiLCJpc3MiOiJleHRyZW1lY2xvdWRpcS5jb20iLCJpYXQiOjE2MzU5ODg1NDAsImV4cCI6MTYzNjU5Njk0MH0.9rEXDmOaKsyoiMzNKV10_ICj76cTEP-xiHGu3hWhiCc' \
-d '{
"user_group_id" : 1,
"name" : "test-user-1",
"user_name" : "test-user-1",
"organization" : "DEFAULT",
"visit_purpose" : "GUEST",
"description" : "this is test user1",
"email_address" : "test1@google.com",
"phone_number" : "123456789",
"password" : "***",
"email_password_delivery" : null,
"sms_password_delivery" : "123456789"
}'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16