SSO (Benutzer)
Einrichtung
Zur Einrichtung von SSO (Single Sign-on) in Lobster Integration sind folgende Schritte notwendig. Sie benötigen eine Lizenz für diese Funktionalität.
./etc/factory.xml
Fügen Sie folgenden Abschnitt in die Konfigurationsdatei ./etc/factory.xml ein.
<
Call
name
=
"addService"
>
<
Arg
>com.ebd.hub.services.identity.ExternalIdentityProviderService</
Arg
>
<
Arg
>etc/external_identity_providers.xml</
Arg
>
</
Call
>
./etc/external_identity_providers.xml
Nun muss in der Konfigurationsdatei ./etc/external_identity_providers.xml noch das SSO-Servlet konfiguriert werden. Sie können die Einträge wie unten übernehmen. Der Alias für DataCockpit ist nur notwendig, wenn Sie dieses Zusatzmodul auch im Einsatz haben.
Im letzten Schritt muss dann noch mindestens ein Identity Provider angegeben werden, hier gezeigt am Beispiel Azure. Wie Sie die Werte für die OAuth2-Parameter dazu bekommen, finden Sie in der Dokumentation des jeweiligen Anbieters beschrieben. Also Client ID, Client Secret und bei Azure auch die Tenant ID. Den Alias vergeben Sie selbst.
Bei Neuinstallationen (nicht Updates) ab Version 4.6.9 gilt die Datei ./etc/hub.xml nur für die Lobster-Integration-Kommunikation (z. B. HTTP und AS2) und die Datei ./etc/admin.xml für die Admin-Konsole und die Lobster-Integration-GUI.
Davor galt die Datei ./etc/hub.xml für die Lobster-Integration-Kommunikation und die Lobster-Integration-GUI und die Datei ./etc/admin.xml nur für die Admin-Konsole.
→ Verwenden Sie in diesem Fall als Server-Namen nicht Main Server, sondern Administrative Server. Hinweis: Generell ist hier beim Server-Namen der HTTP-Server anzugeben, über den die Lobster-Integration-GUI läuft.
<?
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
<!DOCTYPE Configure PUBLIC
"-//Lobster//DTD Configure 1.0//EN"
"
http://www.lobster.de/dtd/configure_1_1.dtd
">
<
Configure
class
=
"com.ebd.hub.services.identity.ExternalIdentityProviderService"
>
<
Call
name
=
"setSSOServletConfig"
>
<!-- Server Name --><
Arg
>Main Server</
Arg
>
<
Call
name
=
"addAlias"
>
<!-- Alias -->
<
Arg
>datacockpit</
Arg
>
<!-- Servlet URL -->
<
Arg
>
https://YOUR_HOST_IP/idp/DataCockpit/
</
Arg
>
<!-- Login URL for Alias -->
<
Arg
>
https://YOUR_HOST_IP/DataCockpit
</
Arg
>
</
Call
>
<
Call
name
=
"addAlias"
>
<!-- Alias -->
<
Arg
>_data</
Arg
>
<!-- Servlet URL -->
<
Arg
>
https://YOUR_HOST_IP/idp/_data
</
Arg
>
<!-- Login URL for Alias -->
<
Arg
>
https://YOUR_HOST_IP/_data
</
Arg
>
</
Call
>
</
Call
>
<!-- OKTA SSO with Generic Template -->
<!--
<
Call
name
=
"addProvider"
>
<
Arg
>
<
New
class
=
"com.ebd.hub.services.identity.GenericOAuth2Provider"
>
<!-- Alias -->
<
Arg
>genericOauth2</
Arg
>
<!-- ClientID -->
<
Arg
>YOUR_CLIENT_ID</
Arg
>
<!-- Client Secret -->
<
Arg
>YOUR_CLIENT_SECRET</
Arg
>
<
Set
name
=
"authorizeUrl"
>
https://YOUR_OKTA.okta.com/oauth2/v1/authorize
</
Set
>
<
Set
name
=
"tokenUrl"
>
https://YOUR_OKTA.okta.com/oauth2/v1/token
</
Set
>
<!--
<
Set
name
=
"userInfoUrl"
>
https://userInfoURL
</
Set
>
-->
<!-- specify openid request scopes -->
<
Set
name
=
"scope"
>openid</
Set
>
</
New
>
</
Arg
>
</
Call
>
-->
<!--
<
Call
name
=
"addProvider"
><
Arg
>
<
New
class
=
"com.ebd.hub.services.identity.AzureOAuth2Provider"
>
<!- - Alias - -><
Arg
>azure</
Arg
>
<!- - Tenant - -><
Arg
>common</
Arg
>
<!- - ClientID - -><
Arg
>YOUR_CLIENT_ID</
Arg
>
<!- - Client Secret - -><
Arg
>YOUR_CLIENT_SECRET</
Arg
>
</
New
>
</
Arg
></
Call
>
-->
<!--
<
Call
name
=
"addProvider"
><
Arg
>
<
New
class
=
"com.ebd.hub.services.identity.GoogleOAuth2Provider"
>
<!- - Alias - -><
Arg
>google</
Arg
>
<!- - ClientID - -><
Arg
>YOUR_CLIENT_ID</
Arg
>
<!- - Client Secret - -><
Arg
>YOUR_CLIENT_SECRET</
Arg
>
</
New
>
</
Arg
></
Call
>
-->
<!--
<
Call
name
=
"addProvider"
><
Arg
>
<
New
class
=
"com.ebd.hub.services.identity.AmazonOAuth2Provider"
>
<!- - Alias - -><
Arg
>amazon</
Arg
>
<!- - ClientID - -><
Arg
>YOUR_CLIENT_ID</
Arg
>
<!- - Client Secret - -><
Arg
>YOUR_CLIENT_SECRET</
Arg
>
</
New
>
</
Arg
></
Call
>
-->
<!--
<
Call
name
=
"addProvider"
><
Arg
>
<
New
class
=
"com.ebd.hub.services.identity.FacebookOAuth2Provider"
>
<!- - Alias - -><
Arg
>facebook</
Arg
>
<!- - ClientID - -><
Arg
>YOUR_CLIENT_ID</
Arg
>
<!- - Client Secret - -><
Arg
>YOUR_CLIENT_SECRET</
Arg
>
</
New
>
</
Arg
></
Call
>
-->
</
Configure
>
Redirect URL
Sie müssen bei Ihrem jeweiligen Provider (also z. B. Google) auf deren Seite eine Redirect URL abgeben. Diese hat für Lobster Integration das folgende Format.
https://<IP oder URL Integration Server>/idp/_data/<Alias des SSO-Providers>/callback |
Beispiel: https://mydata.example.com/idp/_data/google/callback
SSO-Provider für Benutzer hinzufügen und Anmeldung
Wenn die grundsätzliche Einrichtung der SSO-Provider abgeschlossen ist, können Sie nun einem Benutzer einen SSO-Provider hinzufügen.
(1) Wählen Sie über das Kontextmenü einen SSO-Provider aus (hier Azure). Sie werden dann auf eine externe Seite umgeleitet, wo Sie Ihre Zugangsdaten eingeben müssen, hier für Ihr Microsoft-Konto. Diese Anmeldung ist nur einmal notwendig. Hinweis: Sind Sie bereits an Ihrem Microsoft-Konto angemeldet, passiert dieser Schritt im Hintergrund.
(2) Haben Sie (1) durchgeführt, sehen Sie den hinzugefügten SSO-Provider. Sie können sich an Lobster Integration nun mit per SSO anmelden, siehe (3).
(3) Klicken Sie hier.
(4) Klicken Sie hier.