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-reg
is the predefined user group forCloud
PPSK.GA-ppsk-user-device
is the predefined user group forLocal
PPSK.
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