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.