Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 58 Next »

As of Versionproduct version 2020 Winter | component version 1.0
Request MethodPOST
Response FormatHTTP status code
Description

Updates the tenant creation profile that is used while creating a tenant of a customer with all the information that should be set up, e.g., additional roles, users, schema and client settings. Each SaaS application has its own tenant creation profile.It is possible to use the following placeholders within the tenant creation profile that will be replaced by values determined from the parameters of each tenant creation call:

PlaceholderDescription

${DISPLAY_TENANT_NAME}

The Keycloak Realm Display Name that is shown on the Keycloak login page.
${TENANT_NAME}The Keycloak Realm Name which corresponds to the tenant name in yuuvis®.

The following yuuvis® roles are set per default for each tenant:

  • YUUVIS_DEFAULT (briefly: full access to every object via default role set)
  • YUUVIS_CREATE_OBJECT (briefly: create objects)
  • YUUVIS_MANAGE_SETTINGS (briefly: save result list column and filter configurations as standard)
  • YUUVIS_TENANT_ADMIN (briefly: update schema, role set, manage users, ... for the tenant)
  • YUUVIS_SYSTEM_INTEGRATOR (briefly: update global schemata and role sets for the system, create tenants) 

An admin user is created for each tenant that is used for the initial tenant administration. This user has all the above roles except YUUVIS_TENANT_ADMINISTRATOR.

Settings for Keycloak can be adjusted and additional roles can be created by passing the desired values for the corresponding parameters:

  • general section (These set parameters are displayed in the Keycloak GUI, realm setting Themes.)
    As of 2021 Summer:
    • displayNameHTML parameter
      Define the branding on the login page. If not specified, the Keycloak realm HTML Display name will be set by default to "<div class="yuv-brand-logo">${DISPLAY_TENANT_NAME}</div>".
    • supportedLocales parameter
      Set the languages for the language selection in the login dialog. The default locales are en for English and de for German. Find more available locales in the Keycloak documentation.
    • defaultLocale parameter
      Set the locale to specify the language used in the e-mail invitation. The default locale is
      en.
    • customMicroservice parameter
      Define the URL of the custom microservice that should be asynchronously called after the tenant is prepared in the backend to configure additional necessary custom settings. 
    • customMicroserviceOnDelete parameter
      Define the URL of the custom microservice that should be asynchronously called after deleting a tenant to remove additional custom settings.
  • roles section: 
    • Define additional roles (in addition to the pre-defined role set), each of them with a role title and a description
  • groups section:
    As of 2021 Autumn: Specify groups that will be created in the tenant with the listet roles assigned to them.
  • user section:
    • Create standard users and assign roles to them. You may want to create technical users who manage the schema, for example.
      If you want to invite the created users via e-mail, set  "withInvitation": "true". The default value is false.
      Note: if "true", the e-mail section and its parameters must be set to match the SMTP e-mail service installed.
  • email section:
    Set up all e-mail keys to be able to send invitations to newly created users using your configured e-mail service.
    The mandatory keys are host, username, and password.

Meaning of the response HTTP status codes:

HTTP Status CodeMeaning
201 CREATEDSuccessful, the tenant with the specified name has been created.
401 UNAUTHORIZEDThe call was unauthorized.
Request Example
POST /tenant-management/api/system/profile HTTP/1.1

{
     "general": {
          "displayNameHTML": "<div class=\"yuv-brand-logo\">${DISPLAY_TENANT_NAME}</div>",
"customMicroservice": "https://myCustomMicroserviceURL",
          "customMicroserviceOnDelete": "https://myCustomMicroserviceOnDeleteURL",
"supportedLocales": ["en","de","es"],
"defaultLocale": "es"
,      },

     "email": {
        "host": "myemailservice.com",
        "port": 25,
        "fromDisplayName": "myHostName",
        "from": "myemailaddress",
        "enableSSL": true,
        "enableStartTLS": true,
        "enableAuthentication": true,
        "username": "emailserviceuser",
        "password": "PaswordWith8Characters1Uppercase1SpecialNoUserName"
      },

     "roles": [ 
         {
             "role": "Role 1",
             "description": "Description of Role 1"
         }, ...    ],

    "user": {
       "users": [
          { 
"username": "annebraun",
"email": "grasshoffbraun@optimal-systems.de",
"firstName": "Anne",
"lastName": "Braun",
"roles": ["YUUVIS_DEFAULT"],
"password": "PaswordWith8Characters1Uppercase1SpecialNoUserName",
"temporaryPassword": false,
"enabled": true
},
...
    ],
        "withInvitation": true
}
}
Response Example

201 CREATED

no response body

  • No labels