Die BPC Version 3.5 wird nicht mehr gewartet.

Sollten Sie diese BPC Version nutzen, empfehlen wir Ihnen eine Migration auf eine aktuelle Version. Die Dokumentation zur neusten BPC Version finden Sie hier. Sollten Sie Fragen haben, wenden Sie sich bitte an unseren Support.

Keycloak anbinden und einrichten

Keycloak ist ein Identity Provider der zur Benutzer-Authentifizierung verwendet werden kann. Wenn die bereits unterstützen Identity Provider von der Funktionalität oder aus Sicherheitsbedenken nicht ausreichen sollten, dann ist dieser zu empfehlen. Auch, wenn die Inbetriebnahme ein wenig umfangreicher ist.

Installation

  1. Keycloak kann mit den anderen BPC Dateien unter Download - Virtimo Fileserver heruntergeladen werden.

  2. Das Keycloak Archiv muss in das Zielverzeichnis entpackt werden.

  3. Keycloak starten

    Per Default ist der Server nach dem Start auf dem HTTP-Port 8080 erreichbar. Die verwendeten Ports können in der folgenden Konfigurationsdatei angepasst werden: [keycloak]/standalone/configuration/standalone.xml

    Linux

    bin/standalone.sh -Dkeycloak.profile.feature.upload_scripts=enabled -Dkeycloak.profile.feature.token_exchange=enabled

    Windows

    bin/standalone.bat -Dkeycloak.profile.feature.upload_scripts=enabled -Dkeycloak.profile.feature.token_exchange=enabled

    • Der Start Parameter -Dkeycloak.profile.feature.upload_scripts=enabled ist initial notwendig, sodass unsere BPC Konfiguration importiert werden kann. Ansonsten kommt es zu dem Fehler: Uncaught server error: java.lang.RuntimeException: Script upload is disabled.

    • Der Start Parameter -Dkeycloak.profile.feature.token_exchange=enabled ist notwendig, falls das Imitieren von Benutzern (Impersonate; User Hijacking) über die BPC Oberfläche möglich sein soll.

  4. Admin Benutzer anlegen

    http://localhost:8080/auth aufrufen und initial einen Admin-Benutzer anlegen

    Admin User anlegen

Konfiguration Keycloak

Damit der Einstieg ein wenig schneller vonstattengeht, kann eine Konfiguration heruntergeladen und importiert werden. Dadurch wird die Realm BPC angelegt.

BPC-Konfiguration importieren

  1. BPC Keycloak Konfiguration Download

  2. Die Administrationsoberfläche (Administration Console) http://localhost:8080/auth/admin aufrufen und mit dem oben angelegten Admin Benutzer anmelden

  3. Links oben auf Master → “Add realm” klicken

  4. Beim Import per “Select file” die zuvor heruntergeladene Konfigurationsdatei auswählen

  5. Per “Create” die Realm ‘BPC’ anlegen

BPC-Konfiguration importieren

Nach dem Importieren ist es notwendig, unter “Realm Settings” - “General” - “Frontend URL” die Adresse zur KeyCloak Login-Maske anzugeben in der Form https://www.example.com:443/auth. Zusätzlich sollte im selben Fenster unter “Security Defenses” der Wert für X-Frame-Options auf allow-from all geändert werden:

X-Frame-Options

BPC Rollen anlegen

  1. Realm “Bpc” ist ausgewählt

  2. Linke Seite: Configure → Roles

  3. Rechts Oben: Add Role

  4. Die Rollen “bpcadmin” und “bpcuser” anlegen

BPC Admin Benutzer (bpcadmin) in Keycloak anlegen

  1. Realm “Bpc” ist ausgewählt

  2. Linke Seite: Manage → Users

  3. Rechts Oben: Add user

    User hinzufügen

  4. Dem “bpcadmin”-Benutzer ein Passwort vergeben

    Passwort vergeben

  5. Dem “bpcadmin”-Benutzer die Rolle “bpcadmin” zuweisen

    Rolle zuweisen

Client Secret Erzeugen

  1. Realm “Bpc” ist ausgewählt

  2. Linke Seite: Configure → Clients

  3. Als Client “bpc-core” auswählen

  4. Rechts Oben: Credentials

  5. Über den Button “Regenerate Secret” ein neues Secret erzeugen

Gültige Weiterleitungen URIs angeben

  1. Realm “Bpc” ist ausgewählt

  2. Linke Seite: Configure → Clients

  3. Als Client “bpc-core” auswählen

  4. Rechts Oben: Settings

  5. Im Feld Valid Redirect URIs alle möglichen URIs angeben, von denen auf KeyCloak zugegriffen werden soll. Dies können beispielsweise die URL zum BPC sein aber auch externe Anwendungen (INUBIT) die KeyCloak nutzen. Zum Beispiel:

Konfiguration BPC

Im BPC muss Keycloak unter den Backend Connections als Identity Provider angelegt und anschließend in den Core Services Einstellungen als zu verwendender Identity Provider festgelegt werden.

Beim initialen Start des BPC bzw. bei jedem Start, wenn nicht vorhanden, wird automatisch eine Backend Connection für den Keycloak als IdP angelegt. Diese hat den Modul Namen Keycloak Local und die ID idp_keycloak.

“Identity Provider” Backend Connection anlegen

  1. BPC Einstellungen → Backend Connections → Komponenten

  2. Unten auf den “+” Button klicken um eine neue Komponente anzulegen, als Typ “identity_provider” auswählen

Name (Key) Gruppe Wert Beschreibung

Module_Name
(module_name)

module

idp-keycloak-localhost

Einen sprechenden und eindeutigen Namen vergeben

IdentityProvider
(identityProvider)

config

keycloak

Keycloak für die Backend Connection als IdP festlegen

IdentityProvider_URL
(identityProvider.url)

config

Der OpenID Endpunkt des Keycloak Servers

IdentityProvider_Configuration
(identityProvider_configuration)

config

{
  "client_id": "bpc-core",
  "scope": "openid profile email address phone bpc-rollen roles",
  "claim_name_roles": "bpc_client_roles,bpc_realm_roles",
  "client_secret": "8687ab26-830f-47ed-8ed1-6e62192ccd9c",
  "post_logout_redirect_uri": "http://localhost:8181",
  "post_authentication_redirect_uri": "http://localhost:8181/",
  "keycloak": {
    "realm": "bpc",
    "client_id": "bpc-core",
    "adminclient_realm": "master",
    "adminclient_client_id": "admin-cli",
    "adminclient_server_url": "http://localhost:8080/auth",
    "adminclient_username": "admin",
    "adminclient_password": "******",
    "client_secret": "8687ab26-830f-47ed-8ed1-6e62192ccd9c"
  }
}

Die Konfiguration für den Keycloak Zugriff. Die "*******" durch das Passwort des oben angelegten Admin Benutzers ersetzen und evtl. die Ports des Keycloak und BPC anpassen.


Keywords: