OpenID
Die Nutzer-Authentifizierung in einer TopLogic-Anwendung kann über ein externes System erfolgen. Hierfür muss in der Anwendung Single-Sign-On aktiviert werden.
OpenID Connect ist ein offenes Protokoll, mit dem die Nutzer-Authentifizierung in einer Web-Anwendung an einen externen Provider ausgelagert werden kann. Um Login über OpenID Connect zu aktivieren müssen die folgenden Schritte durchgeführt werden.
Einbinden des Moduls com.top_logic.security.auth.pac4j
<classpath>
<classpathentry combineaccessrules="false" kind="src" path="/com.top_logic.security.auth.pac4j"/>
</classpath>
Konfiguration des OpenID-Providers
com.top_logic.security.auth.pac4j
bringt für diverse OpenID-Provider vorgefertigte Konfigurationsfragmente mit. Für ein Login über Google, muss beispielsweise das Fragment pac4j-google.xml
eingebunden werden.
metaConf.txt
:
pac4j-google.config.xml
Die Anwendungskonfiguration muss die dort und in tlPac4jConf.xml
definierten Platzhalter füllen:
<root>
<alias>
<entry name="%PAC_DOMAIN%" value="..." />
<entry name="%PAC_CLIENT_ID%" value="..." />
<entry name="%PAC_SECRET%" value="..." />
</alias>
</root>
Hierbei wird die PAC_CLIENT_ID
und PAC_SECRET
vom OpenID-Provider zur Verfügung gestellt. Die PAC_DOMAIN
muss mit dem Domain-Eintrag des TopLogic-Sercurity-Devices übereinstimmen, welches die Nutzer enthält, die sich über den Provider einloggen können. Wenn die Nutzer über LDAP in die Anwendung geladen werden, muss diese Domain mit der LDAP-Domain übereinstimmen.
Wenn der App-Server seinen eigenen Host-Namen nicht auflösen kann, oder dieser hinter einer Fassade steht, kann es notwendig sein, die öffentliche Adresse zu konfigurieren, an die der Nutzer vom OpenID-Provider zurückverwiesen wird:
<entry name="%PAC_CALLBACK_URL%" value="https://my-host-name/my-app/servlet/callback" />
<entry name="%PAC_CALLBACK_ABSOLUTE%" value="true" />
Für andere Provider können noch zusätzliche Einstellungen notwendig sein. Die Parameter-Namen sind in den Konfigurationsfragmenten des jeweiligen Providers hinterlegt. Die Parameter-Werte müssen durch den jeweiligen Provider zur Verfügung gestellt werden.
Single-Sing-On-URL anspringen
Um den Single-Sing-On-Vorgang zu initiieren, muss der Browser des Nutzers auf die Start-URL für Single-Sign-On der Anwendung weitergeleitet werden. Dies kann entweder durch das Protal des Kunden oder durch einen Link auf der Login-Seite "Login mit Google" geschehen. Diese URL lautet https://my-host-name/my-app/servlet/openid.
Einschränkungen
Über diese einfache Form der Konfiguration lässt sich aktuell nur ein einziger Provider in die Anwendung einbinden.