Creating, Configuring, and Using an Identity Provider
The BPC requires integration with an external Identity Provider (IdP). The BPC provides the necessary settings for configuring the external IdP in the administration area. To do this, create an Identity Provider under “Backend Connections” in the BPC and then specify it as the Identity Provider to be used in the Core Services settings.
When the BPC starts, an Identity Provider Backend Connection is created for the local Karaf with the ID idp_karaf and the name Karaf (default).
This is immediately used as the active Identity Provider.
It is recommended to use Keycloakfootnote:[Keycloak is a trademark of The Linux Foundation.] as the identity provider. Keycloak is open source and implements standards such as OpenID Connect and SAML. It can also be used to implement very complex scenarios.
Creating and Configuring an Identity Provider
Generally, identity providers are configured via Backend Connections.
General Identity Provider Configuration
The following configuration parameters can be found at Backend Connections under the “ identity_provider ” type.
Settings for the “ AdditionalInfo ” group are described at Add additional organizations/roles/permissions and other data to the user session.
| Setting (Key) | Group | Type | Description |
|---|---|---|---|
IdentityProvider |
Config |
text/combobox |
Identity Provider Service. Default: |
IdentityProvider_URL Only for BPC versions < 4.2.13 |
Config |
text |
The URL at which the Identity Provider is accessible |
IdentityProvider_Configuration Only for BPC versions < 4.2.13 |
Config |
json |
Configuration object for the identity provider |
Config |
json |
Role mapping between BPC and the identity provider. |
|
IdentityProvider_HealthEndpoint |
Config |
text |
Identity provider health endpoint. If set, the identity provider’s status can be queried via the status API. |
Config |
text |
The URL at which the self-service is accessible |
|
IdentityProvider_PasswordValidationRegExp |
Config |
text |
Regular expression (see Java documentation) for validating passwords. For example, for Complex example consisting of several parts:
|
IdentityProvider_ChangeOrganisationEnabled |
Frontend |
bool |
Enables or disables the ability to change the organization in the user interface. |
IdentityProvider_ChangePasswordEnabled |
Frontend |
bool |
Enables or disables the ability to change the password in the user interface. |
Using an Identity Provider
One of the Identity Providers created above can now be set as the (Active) IdP to be used in Core Services → Settings. If you are still unable to log in with this IdP afterward, you can find a solution at Forcing the local IdP as a fallback
| Setting (Key) | Group | Type | Description |
|---|---|---|---|
IdentityProvider_BackendConnection |
identityProvider |
text/combobox |
Select/set the Identity Provider Backend Connection to be used. |

Click “Save”!
You will then be logged out and will need to log in again.
The new Identity Provider will be applied.