OAuth

Konfiguration von OAuth

Die Anwendung beherrscht ab Version 1.14.4 auch OAuth mit JWT-Token als Authentifizierungsmethode. Zur Einrichtung und Verwendung sind folgende Schritte notwendig:

Backend: Authorisierungs-URL definieren

In der Global Property OAUTH_AUTHORIZATION_SERVER_URL wird die URL zum OAuth-Authorisierungsserver angegeben. Wenn diese Global Property nicht-leer gesetzt wird, ist automatisch JWT-Authentifizierung aktiv, sonst weiterhin basic auth.

Backend: (optional) CORS-Whitelist URLs definieren

Relevant z.B. auf der AEP, wenn Zugriffe auf/von fremden URLs erfolgen. Die URLs können gewhitelistet werden, damit es nicht zu CORS-Fehlern kommt. Hierfür werden die URLs mit Komma oder Semikolon separiert in der Global Property CORS_WHITELIST_SERVER_URLS aufgeführt.

Client: Authorisierungs-URL definieren

In der properties.xml muss ein weiteres Tag unterhalb von <config> definiert werden: <oAuthLoginUrl>. Hier wird die Login-URL des OAuth-Servers angegeben.

Backend: Benutzer hinterlegen

Damit sich die OAuth-Benutzer am Client anmelden können, müssen sie vorher im Usermanagement der WiM hinterlegt werden. Dies kann entweder vor der Umstellung über die Oberfläche, oder in der Datenbank geschehen.

In der Oberfläche wird der Nutzer über die Rollenzuordnung des Usermanagement in der Administration angelegt. Hierfür wird als Benutzer ID der Nutzername angegeben, mit dem man sich gegen den OAuth-Server authentifiziert.

Über die Datenbank erfolgt das Anlegen mit diesem SQL Statement:

INSERT INTO b2b_platform_user (userid_, roleid_, description_) VALUES ('<userName>', '<role>', null);

Für <username> ist dabei der Nutzername zu wählen, mit dem man sich am OAuth Server anmeldet. Für <role> ist eine der bereits vorhandenen definierten Rollen einzusetzen, etwa “user” oder “admin”.

Autostart-Check für Spring Security abschalten

Kunden, die CAS für Authentifizierung verwenden, nehmen eine Sonderrolle ein, da das Spring Security Modul derzeit nur JWT und Basic Auth unterstützt.

In der context.xml des Tomcat muss folgendes Element hinzugefügt werden, um die Ausführung des Spring Security Moduls beim Start des Tomcat zu unterbinden:

<JarScanner>
    <JarScanFilter defaultPluggabilityScan="false" />
</JarScanner>

Weiterhin muss die Global Property SPRING_SECURITY_AUTOSTART_CHECK_ENABLED eingerichtet und auf false gesetzt werden, damit der Tomcat nicht beendet wird, wenn das Spring Security Modul nicht gestartet wurde.