Webclient Core Configuration
The core webclient configuration is stored in YAML format.
For CIB seven Tomcat or WildFly distributions, the configuration is typically located in the application.yaml file.
For CIB seven Run distribution, the webclient configuration can be combined with the distribution configuration files.
Authentication
Authentication means verifying a user’s identity against the CIB seven webclient.
A user authenticates on the login page by providing a username and password. If the authentication is successful, the user gets access to the webclient and can work on tasks in Tasklist or perform operations in Cockpit, for example.
The authentication information consists of the following:
- Process engine name
- Username
- Group memberships
- Tenant memberships
The CIB seven webclient correlate the authentication information against authorizations to determine
what data the user can query for and which operations the user can perform.
There are several options to configure authentication in CIB seven, see cibseven.webclient.authentication.
Username/Password Login Alternative
Instead of the username and password login, the webclient can also delegate the login to an external identity provider such as Microsoft Entra ID or Keycloak, see Single Sign-On (OAuth2/OIDC).
LDAP
If you connect CIB seven with the LDAP identity service, you have read-only access to the users and groups. Create new users and groups via the LDAP system, but not in the admin application. Find more information about how to configure the process engine in order to use the LDAP identity service here.
Options to configure CIB seven webclient with LDAP support: cibseven.webclient.ldap.
Multi-engine support
CIB seven webclient supports connections to multiple engine REST.
The multi-engine feature allows using a single webclient instance to view and manage multiple CIB seven engines.
This is particularly useful for developers or administrators who need to switch quickly between environments such as testing, development or production.
Additional engines can be optionally specified via the additionalEngineRest sub-property:
cibseven:
webclient:
engineRest:
url: http://localhost:8080
path: /engine-rest
displayName: Local Server
tooltip: Local environment
additionalEngineRest:
- url: https://dev.cibseven.de/
path: /engine-rest
displayName: Dev Server
tooltip: Development environment
jwtSecret: <SECRET_OF_THE_ADDITINAL_ENGINE>
- url: https://qa.cibseven.de/
path: /engine-rest
displayName: QA Server
tooltip: QA environment
jwtSecret: <SECRET_OF_THE_ADDITINAL_ENGINE>
After configuring, an icon with additional engines should appear at the top menu of the CIB seven webclient.
All Core Configuration Options
The table below lists the core webclient options with short descriptions. The properties that set the paths under which the webclient is deployed in CIB seven Run or a Spring Boot application are described in CIB seven webclient properties.
| Prefix | Property name | Description |
|---|---|---|
| cibseven.webclient | .enabled | Specifies whether CIB seven web application (CIB seven webclient) REST API is enabled. Default value: true |
| cibseven.webclient.api | .common.title | API title for Swagger. Example: CIB seven webclient API |
| .common.description | API description for Swagger | |
| .common.license | License name | |
| .common.contact | Contains a few sub-properties with the contact name, url and email | |
| cibseven.webclient.authentication | .jwtSecret | Secret used to sign JWT tokens |
| .tokenValidMinutes | Authentication token expiration in minutes | |
| .tokenProlongMinutes | Authentication token extension time in minutes | |
| cibseven.webclient.license.chunk | .trustServerAuthentication | Lets the browser request licensed EE frontend chunks even when the webclient holds no auth token to attach to them, leaving authentication of those requests to the server. Set this to true only if your deployment authenticates requests itself — a custom IUserProvider backed by a SAML session, a reverse proxy, or a gateway — so that a chunk request without an Authorization header can still be authenticated. The server-side license check is unaffected: a request the user provider cannot authenticate is still rejected. See Authenticating Licensed Frontend Chunks. Default value: false |
| cibseven.webclient.engineRest | .url | CIB seven engine REST API URL. Example: http://localhost:8080 |
| .path | CIB seven engine REST path allows to customize the engine REST API path to support different Jersey application configurations. Default value: /engine-rest |
|
| .displayName | CIB seven engine REST name, displayed in CIB seven webclient | |
| .additionalEngineRest | Specifies optional CIB seven engines that can be accessible from the CIB seven webclient. | |
| cibseven.webclient.plugins | .enabled | Load frontend plugins from the classpath. See Plugins. Possible values: true/false Default value: false |
| .disabled | Ids of plugins to skip, for instance one that breaks the page; the other plugins still load. Takes a restart. See Switching off one plugin. Default value: empty |
|
| cibseven.webclient | .bpm.provider | BPM provider implementation class. Example: org.cibseven.webapp.providers.SevenProvider |
| .historyLevel | CIB seven history tracking level. Possible values: audit/full/activity/none |
|
| .cockpit.url | Old cockpit access path. Example: /camunda/app/cockpit/default |
|
| .datasource.fileValue.enabled | Enable/disable file value handling. Possible values: true/false |
|
| .fetchInstances | Whether to fetch process instances. Possible values: true/false |
|
| .fetchIncidents | Whether to fetch incidents. Possible values: true/false |
|
| .services.basePath | Relative path, location of the backend services starting from applicationPath. Default value: services/v1 |
|
| .theme | UI theme based on Bootstrap, currently only cib theme is supported. Example: cib |
|
| .token.secret | Secret for external token validation | |
| .token.deny.external.ip | Deny external IP token user creation. Possible values: true/false |
|
| .user.provider | User provider implementation class. Example: org.cibseven.webapp.auth.SevenUserProvider |
|
| .users.search.wildcard | Wildcard for user search (default "*") | |
| cibseven.webclient.ldap | .url | LDAP server URL. Example: ldap://ldap.cibseven.org |
| .folder | Base DN for LDAP searches. Example: DC=cibseven,DC=org |
|
| .userClass | LDAP attribute when searching for users. Example: person |
|
| .userNameAttribute | LDAP attribute for username. Example: samAccountName |
|
| .userDisplayNameAttribute | LDAP attribute for display name. Example: name |
|
| .modifiedDateFormat | Date format for modified timestamp. Example: yyyyMMddHHmmss |
|
| .followReferrals | Whether to follow LDAP referrals. Example: follow |
|
| cibseven.webclient.sso | .endpoints.token | OAuth2 token endpoint |
| .endpoints.jwks | OAuth2 jwks endpoint | |
| .endpoints.authorization | authorization token endpoint | |
| .endpoints.user | OAuth2 user endpoint | |
| .endpoints.introspection | OAuth2 introspection endpoint | |
| .clientId | OAuth2 Client id of the application | |
| .clientSecret | OAuth2 Client secret of the application | |
| .userIdProperty | Property in the Id-Token where the userid is taken from | |
| .userNameProperty | Property in the Id-Token where the username is taken from | |
| .active | Activates the redirect in the frontend to login with the sso provider
Default value: false |
|
| .accessTokenToEngineRest | Activates the forwarding of the access token to the engine REST. Required when Spring Security is used to secure engine REST with Spring Security
Default value: false |
|
| .scopes | OAuth2 scopes to include in the authorization request | |
| .assertion.type |
The type of assertion provider to use. Possible values: JJWT: Requires key-location to point to a PEM-encoded private key.AZURE_WORKLOAD_IDENTITY:
Uses the Azure Workload Identity federated token (reads the file referenced by
the AZURE_FEDERATED_TOKEN_FILE environment variable) |
|
| .assertion.keyLocation |
Location of the PEM-encoded PKCS#8 private key file.
Supports Spring resource prefixes: classpath:, file:.
assertion.type=JJWT.assertion.type=AZURE_WORKLOAD_IDENTITY. |
|
| cibseven.webclient.rest | .enabled | Whether the custom RestTemplate is enabled. If false, a default RestTemplate will be used. Default value: true |
| .keepAlive | Whether the socket connection should be kept alive between requests. Default value: true |
|
| .socketTimeout | Socket read timeout in seconds (0 = infinite). Maximum time to wait for data from an established connection. Default value: 3600 |
|
| .connectTimeout | Time in seconds to establish connection (0 = infinite). Maximum time to wait while establishing a connection. Default value: 30 |
|
| .connectionRequestTimeout | Time to wait in seconds for a connection from the connection pool. Default value: 180 |
|
| .connectionResponseTimeout | Max response wait time in seconds (0 = infinite). If not set, the socketTimeout value will be used. | |
| .maxConnPerRoute | Max HTTP connections per route. Limits the number of connections to a specific host. Default value: 20 |
|
| .maxConnTotal | Total max HTTP connections across all routes. Defaults to 2 * maxConnPerRoute if not specified. | |
| .connectionTimeToLive | Connection time to live in milliseconds. Maximum time a connection can be reused. Default value: 50000 |
|
| .connectionPoolingEnabled | Whether to enable connection pooling. Improves performance by reusing connections. Default value: true |
|
| .connectionReuseEnabled | Whether to enable connection reuse. Allows reusing connections for multiple requests. Default value: true |
|
| .metricsEnabled | Whether to enable Micrometer metrics for monitoring connection pool usage. Default value: false |
|
| .requestLoggingEnabled | Whether to enable request/response logging for debugging purposes. Default value: false |
|
| .followRedirects | Whether to automatically follow HTTP redirects (status codes 3xx). Default value: true |
|
| cibseven.webclient.custom.spring.jackson | .parser.max-size | Maximum length in characters of a single JSON string the webclient will parse. Default value: 20000000 |
| .serialization.write-dates-as-timestamps | Switches webclient REST responses to the Unix epoch date format. Provided as a temporary migration aid starting from 2.2.2 for consumers that relied on the format used in 2.2.1. Default value: false |
|
| spring | .config.import | List of optional config files to import if available. Example: - optional:classpath:cibseven-webclient.properties - optional:classpath:cibseven-webclient.yaml |
| springdoc | .swagger-ui.path | Swagger UI path. Example: /webapp/swagger-ui |
| .swagger-ui.operationsSorter | Sort operations alphabetically. Possible values: alpha/none Example: alpha |
|
| .swagger-ui.tagsSorter | Sort tags alphabetically. Possible values: alpha/none Example: alpha |
|
| .swagger-ui.doc-expansion | Swagger doc expansion setting. Possible values: full/list/none Example: full |
|
| .cibsevenWebclient.serverUrl | Server URL override for Swagger UI |