Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Page Properties
hiddentrue
idPROGRESS

Product Version2021 Winter
Report Note
AssigneeAntje

Resources & Remarks

Modification History

NameDateProduct VersionAction
Antje07 OCT 20212021 WinterPage created.


...

Section
bordertrue


Column

Table of Contents

Table of Contents
exclude(Table of Contents|Read on|Another Tutorial|Another Concept Article|Another interesting TutorialTenant Creation Profile|Tenant Management Endpoints|USERSERVICE)


Introduction

The Tenant Management API provided by the TENANT-MANAGEMENT service offers endpoints for user management via Keycloak. In order to scale the identity management, the KEYCLOAK-PROXY service can be used for the connection of multiple Keycloak instances. The endpoints of the Tenant Management API are called by the MANAGEMENT-CONSOLEMANAGEMENT-CONSOLE-CLIENT and ARCHITECT services.

This article describes the handling and representation formats of data for individual user accounts as retrieved and expected by the Tenant Management Endpoints.

Further functionality is provided by our USERSERVICE.

User Management Endpoints

All endpoints for user management via the Tenant Management API are available via the Swagger UI https://<host>/tenant-management/swagger-ui.html. Some of them require an administrative role.

API SectionRequired User RoleAvailable User Management EndpointsDescription

system-controller endpoints

operations on any tenant in the system

YUUVIS_SYSTEM_INTEGRATOR




Insert excerpt
get /tenant-management/api/system/tenants/{tenant}/users/count
get /tenant-management/api/system/tenants/{tenant}/users/count
nopaneltrue

GET /tenant-management/api/system/tenants/{tenant}/users

Insert excerpt
GET /tenant-management/api/system/tenants/{tenant}/users
GET /tenant-management/api/system/tenants/{tenant}/users
nopaneltrue

POST /tenant-management/api/system/tenants/{tenant}/users

Insert excerpt
POST /tenant-management/api/system/tenants/{tenant}/users
POST /tenant-management/api/system/tenants/{tenant}/users
nopaneltrue

GET /tenant-management/api/system/tenants/{tenant}/users/{id}

Insert excerpt
GET /tenant-management/api/system/tenants/{tenant}/users/{id}
GET /tenant-management/api/system/tenants/{tenant}/users/{id}
nopaneltrue

PUT /tenant-management/api/system/tenants/{tenant}/users/{id}

Insert excerpt
PUT /tenant-management/api/system/tenants/{tenant}/users/{id}
PUT /tenant-management/api/system/tenants/{tenant}/users/{id}
nopaneltrue

DELETE /tenant-management/api/system/tenants/{tenant}/users/{id}

Insert excerpt
DELETE /tenant-management/api/system/tenants/{tenant}/users/{id}
DELETE /tenant-management/api/system/tenants/{tenant}/users/{id}
nopaneltrue

admin-controller endpoints

operations on the own tenant

YUUVIS_TENANT_ADMINGET /tenant-management/api/admin/users/count

Insert excerpt
GET /tenant-management/api/admin/users/count
GET /tenant-management/api/admin/users/count
nopaneltrue

GET /tenant-management/api/admin/users

Insert excerpt
GET /tenant-management/api/admin/users
GET /tenant-management/api/admin/users
nopaneltrue

POST /tenant-management/api/admin/users

Insert excerpt
POST /tenant-management/api/admin/users
POST /tenant-management/api/admin/users
nopaneltrue

GET /tenant-management/api/admin/users/{id}

Insert excerpt
GET /tenant-management/api/admin/users/{id}
GET /tenant-management/api/admin/users/{id}
nopaneltrue

PUT /tenant-management/api/admin/users/{id}

Insert excerpt
PUT /tenant-management/api/admin/users/{id}
PUT /tenant-management/api/admin/users/{id}
nopaneltrue

DELETE /tenant-management/api/admin/users/{id}

Insert excerpt
DELETE /tenant-management/api/admin/users/{id}
DELETE /tenant-management/api/admin/users/{id}
nopaneltrue

idm-controller endpoints

operations on the own tenant

The endpoints are available for every logged-in user.GET /tenant-management/api/idm/me

Insert excerpt
GET /tenant-management/api/idm/me
GET /tenant-management/api/idm/me
nopaneltrue

GET /tenant-management/api/idm/roles/{role}/users

Insert excerpt
GET /tenant-management/api/idm/roles/{role}/users
GET /tenant-management/api/idm/roles/{role}/users
nopaneltrue

GET /tenant-management/api/idm/users

Insert excerpt
GET /tenant-management/api/idm/users
GET /tenant-management/api/idm/users
nopaneltrue

GET /tenant-management/api/idm/users/{id}

Insert excerpt
GET /tenant-management/api/idm/users/{id}
GET /tenant-management/api/idm/users/{id}
nopaneltrue

User Account Properties

The following properties for user accounts can be managed via the Tenant Management API.

PropertyTypein Creation RequestsRequest Bodiesin Update RequestsRequest Bodiesin Response BodiesDescription
idstringignoredIgnored.requiredIgnored.includedIncluded.The ID of the user for identification in the identity management system and in yuuvis® Momentum.
emailstringrequired Required if invitation via email is desiredoptionalincluded .

Optional, unchanged if not specified.

Included if available.The e-mail address of the user.
firstNamestringoptionaloptionalincluded Optional.Optional, unchanged if not specified.Included if available.The first name of the user.
lastNamestringoptionaloptionalincluded Optional.Optional, unchanged if not specified.Included if available.The last name of the user.
roleslist of string role namesoptionalpartly removed if not specified (question)included if availableOptional.

Optional, unchanged if not specified.

Note: Changes can be applied also by assigning/removing groups.

Included if available. Includes roles assigned via groups if available.A list of roles defined in the identity management system that are assigned to the user.
groupslist of string group namesoptionalOptional.Optional, removed from data set if not specified specified. (question)included Included if available.A list of groups defined in the identity management system in which the assigned user is a member.
usernamestringrequiredoptionalincludedRequired.Optional, unchanged if not specified.Included.The username of the user.
enabledbooleanoptionalOptional, default: trueoptionalincluded.Optional, unchanged if not specified.Included.Specifies whether the user is allowed to log in (true) or not (false).
createdTimestamp(question)ignoredIgnored.ignoredIgnored.includedIncluded.(question)

User Account Data Sets

For each user account represented in a request or response body, its properties are specified in JSON format. The order of the individual properties within one data set is arbitrary.

...

Code Block
languageyml
[
  {
    "id": "406b5a28-7a8b-4c36-a569-df7bff480375",
    "firstName": "Heinrich",
    "lastName": "Schuetzel",
    "roles": [
      "YUUVIS_SYSTEM_INTEGRATOR",
      "YUUVIS_DEFAULT",
      "YUUVIS_TENANT_ADMIN",
      "HR_MANAGER",
      "YUUVIS_CREATE_OBJECT",
      "YUUVIS_MANAGE_SETTINGS"
    ],
    "username": "newuser5",
    "enabled": true,
    "createdTimestamp": 1622122631393
  },
  {
    "id": "320c67d0-b88b-4e99-852a-b938f4b38cd7",
    "email": "kammer@segelreisen.de",
    "firstName": "Hannes",
    "lastName": "Kammer",
    "roles": [
      "YUUVIS_SYSTEM_INTEGRATOR",
      "YUUVIS_DEFAULT",
      "YUUVIS_TENANT_ADMIN",
      "YUUVIS_CREATE_OBJECT",
      "YUUVIS_MANAGE_SETTINGS",
      "YUUVIS_AI_PIPELINE",
      "COMPLIANCE_MANAGER",
      "YUUVIS_AI_PREDICT"
    ],
    "groups": [
      "onlyoffice"
    ],
    "username": "kammer",
    "enabled": true,
    "createdTimestamp": 1591957723730
  },
  {
    "id": "a6f5e1aa-ff42-4140-b9ec-5de4cc61f1a9",
    "email": "schwimmer@segelreisen.de",
    "firstName": "Klaus",
    "lastName": "Schwimmer",
    "roles": [
      "YUUVIS_SYSTEM_INTEGRATOR",
      "YUUVIS_DEFAULT",
      "INVOICE_MANAGER",
      "YUUVIS_TENANT_ADMIN",
      "HR_MANAGER",
      "YUUVIS_AIINVOICE",
      "EMAIL_WITHOUT_ACL",
      "QA_MEMBER_AREA2",
      "uma_authorization",
      "YUUVIS_CREATE_OBJECT",
      "TEAMS_MANAGER",
      "PHOTOARCHIVE_MANAGER",
      "YUUVIS_MANAGE_SETTINGS",
      "QA_MANAGER",
      "ACL_ALL_USERS",
      "YUUVIS_AI_PIPELINE",
      "QA_MEMBER_AREA1",
      "COMPLIANCE_MANAGER",
      "YUUVIS_AI_PREDICT",
      "offline_access"
    ],
    "username": "klaus",
    "enabled": true,
    "createdTimestamp": 1606820894094
  }
]

USERSERVICE

The USERSERVICE manages user-related data and provides CRUD (create, read, update, delete) operations on it. Its endpoints are provided in an own API.
>> User Settings Endpoints

Summary

For the user management of users via Tenant Management API, the data sets of individual user accounts are handled in JSON format with the above described properties and their corresponding values. For further functionality regarding account-specific content files and personal settings, we provide the USERSERVICE.

Info
iconfalse

Read on

Section


Column
width25%

...

Another Tutorial

...

Tenant Creation Profile

Insert excerpt
Tenant Creation Profile
Tenant Creation Profile
nopaneltrue
 Keep reading


Column
width25%

...

Another Concept Article

...

Tenant Management Endpoints

Insert excerpt
Tenant Management Endpoints
Tenant Management Endpoints
nopaneltrue
 Keep reading


Column
width25%

...

Another interesting Tutorial

...

USERSERVICE

Insert excerpt
USERSERVICE
USERSERVICE
nopaneltrue
 Keep reading