Create, configure and use an identity provider

The BPC requires the connection of an external identity provider (IdP). The BPC offers corresponding settings in the administration area for the configuration of the external IdP. An Identity Provider is created in the BPC under Backend Connections and then defined as the Identity Provider to be used in the Core Services settings.

When the BPC is started, an Identity Provider Backend Connection is created for the local Karaf with the ID idp_karaf and the name Karaf (default). This is also 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. This can also be used to map very complex scenarios.

Creating and configuring identity providers

Identity providers are generally configured via backend Connections.

General identity provider configuration

The following configuration parameters can be found at Backend Connections of type identity_provider.

Settings for the AdditionalInfo group are described at Add additional organizations/roles/rights and other data to the user session.

Setting (Key) Group Type Description

IdentityProvider
(identityProvider)

Config

text/combobox

Identity Provider Service.
Values: INUBIT, Datenbank (JDBC), Karaf, Keycloak, OpenID Connect (OIDC)

Default: Karaf

IdentityProvider_URL
(identityProvider.url)

Only BPC version < 4.2.13

Config

text

The URL under which the identity provider can be reached

IdentityProvider_Configuration
(identityProvider_configuration)

Only BPC version < 4.2.13

Config

json

Configuration Object for Identity Provider
Relevant for Keycloak and OIDC

IdentityProvider_Mappings
(identityProvider_mappings)

Config

json

Mapping of the role between BPC and Identity Provider.
See Mapping of organizations, roles and rights

IdentityProvider_HealthEndpoint
(identityProvider_healthEndpoint)

Config

text

Health endpoint of the identity provider. If set, the status of the identity provider can be queried via the status API.

IdentityProvider_SelfServiceURL
(identityProvider_ussUrl)

Config

text

The URL at which the Self Service can be reached

IdentityProvider_PasswordValidationRegExp
(identityProvider_pwdValidationRegExp)

Config

text

Regular Expression(see Java documentation) for validating passwords. For example, for .{8,} the password must be at least 8 characters long.

Complex example consisting of several parts: (?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}

  • (?=.*[0-9]) - At least one number

  • (?=.*[a-z]) - At least one small letter

  • (?=.*[A-Z]) - At least one capital letter

  • (?=.*[@#$%^&+=]) - At least one special character

  • (?=\S+$) - No spaces (whitespace)

  • .{8,} - At least 8 characters in total

IdentityProvider_ChangeOrganizationEnabled
(identityProvider_ussChangeOrganisationEnabled)

Frontend

bool

Enables the deactivation/activation of the change of organization in the interface.
Default: false

IdentityProvider_ChangePasswordEnabled
(identityProvider_ussChangePasswordEnabled)

Frontend

bool

Enables the deactivation/activation of the change of password in the interface.
Default: false

Specific identity provider configuration

Specific information on how to configure the supported identity providers:

In addition to the specific configurations, there are also some that can be configured or used for each identity provider.

Use identity provider

One of the identity providers created above can now be defined in the Core Services → Settings as the (active) IdP to be used. If it is then not possible to log in with this IdP, you will find a solution at Forcing the local IdP as a fallback

Setting (Key) Group Type Description

IdentityProvider_BackendConnection
(identityProviderBackendConnection)

identityProvider

text/combobox

Select/set the Identity Provider Backend Connection to be used.

idp select active

Click on "Save"!
You will then be logged out and must log in again. The new identity provider will be taken into account.


Keywords: