Einrichtung
Zur Einrichtung von SSO (Single Sign-on) in Lobster Integration sind folgende Schritte notwendig.
./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
>