Wiki-Quellcode von IPluginAuthenticatorType
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | == Schnittstelle IPluginAuthenticatorType == | ||
4 | |||
5 | {{figure image="authenticator-plugin-example.png"}} | ||
6 | Ein Beispiel für ein registriertes Authenticator-Plugin. Die Konfigurationsoberfläche bietet standardmäßig Eingabemöglichkeiten zum Hinterlegen von Attributen und Dateien, welche zur Laufzeit durch die Authenticator-Logik genutzt werden können. | ||
7 | {{/figure}} | ||
8 | |||
9 | Diese Schnittstelle ermöglich das Anbinden einer eigenen Formular-Anmeldung. Über diese Schnittstelle kann ein benutzerdefinierter Identity-Provider oder eine komplett eigene Authentifizierungslogik für Formulare in {{formcycle/}} eingebunden werden. Das Plugin lässt sich dabei, je nach dem Bereich, in dem es installiert wurde, unter dem Menüpunkt** **[[System > Externe Benutzer>>doc:Formcycle.SystemSettings.UserInterface.ExternalUsers.WebHome||target="_blank"]] (//System-Scope//) oder[[ Benutzeranmeldung > Externe Benutzer>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome||target="_blank"]]** **(//Mandant-Scope//) aktivieren und konfigurieren. | ||
10 | Um ein konfiguriertes Authenticator-Plugin dann in einem Formular verfügbar zu machen, muss dies über den [[Formular-Zugriff>>doc:Formcycle.UserInterface.MyForms.Access||target="_blank"]] am jeweiligen Formular konfiguriert sein. | ||
11 | |||
12 | Standardmäßig bietet die Konfigurations-Oberfläche bereits Möglichkeiten eigene Eigenschaften, in Form von Key-Value-Parametern, sowie Dateien (z.B.: eigene Zertifikate) zu hinterlegen. Diese Eigenschaften sind über die Programmierschnittstelle verfügbar und können zum Ausführungszeitpunkt des Authenticators herangezogen werden. | ||
13 | |||
14 | Eine beispielhafte Anbindung für diesen Plugin-Typ kann über einen [[Maven-Archetype>>url:https://maven.apache.org/guides/introduction/introduction-to-archetypes.html||rel="noopener noreferrer" target="_blank"]] aus der XIMA-Artifactory heruntergeladen werden (Name der Archtypes: **plugin-archetype-authenticator-type**). Der dafür notwendige Archetype-Katalog ist unter [[https:~~/~~/artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml>>https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml||rel="noopener noreferrer" target="_blank"]] erreichbar. | ||
15 | |||
16 | === Anwendungsfälle für die Nutzung dieses Plugin-Typs === | ||
17 | |||
18 | * Einbindung eines Identity-Providers, der sich nicht über die bereits vorhandenen (lizenzierungspflichtigen) Authenticator-Typen für //OpenID Connect//, //OAuth 2// oder //SAML 2.0// konfigurieren lässt | ||
19 | * Erweiterung der vorhandenen Authenticator-Typen (//OpenID Connect//, //OAuth 2// oder //SAML 2.0//) um Eigenschaften, die über den Standard nicht abgedeckt sind oder eine Zuordnung von der Rückgabewerten in das erzeugte Nutzer-Profil bzw. nachgeordneten Funktionsaufrufen, welche über die vorhandene Implementierung hinaus gehen | ||
20 | * Implementierung einer vollständig eigene Formularanmeldung, unabhängig von vorhandenen Authenticatoren unter Nutzung des **pac4j** Authentifizierungs-Frameworks | ||
21 | |||
22 | === Methodensignaturen === | ||
23 | |||
24 | {{panel title="{{code language='java'~}~} public IPluginFormAuthenticatorRetVal buildFormAuthClient(IPluginFormAuthenticatorParams params){{/code~}~}" triggerable="true" fullwidth="true" styleClass="xm-code-panel"}} | ||
25 | |||
26 | ((( | ||
27 | Diese Methode wird ausgeführt, wenn der Plugin-Authenticator an einem Formular aufgerufen wird, um eine Authentifizierung durchzuführen. | ||
28 | ))) | ||
29 | |||
30 | {{html}}<br>{{/html}} | ||
31 | |||
32 | ; Parameter | ||
33 | : Diese Methode nimmt folgende Parameter entgegen | ||
34 | :; params | ||
35 | :: Ein Objekt mit den Zugriff auf die konfigurierten Eigenschaften am Authenticator (//getAuthenticator//), sowie auf Hilfsobjekte (//getFormAuthContext//) zu Arbeit mit der Authenticator-Schnittstelle. | ||
36 | ; Rückgabewert | ||
37 | : Ein Client welcher zum Authentifizieren von Benutzern zuständig ist. Die angeforderte geschützte URL wird dabei zwischengespeichert und der Benutzer wird zur Anmeldung an den Identity-Provider weitergeleitet. Nach erfolgreicher Authentifizierung erfolgt eine Rückleitung zur Anwendung und schließlich zur ursprünglich angeforderten URL. | ||
38 | {{/panel}} |