OIDC-Authentifizierung einrichten
OpenID Connect (OIDC) ist eine Authentifizierungsschicht auf dem OAuth 2.0 Autorisierungs-Framework, die verwendet werden kann, um einen Benutzer sicher bei ADONIS anzumelden. Die Authentifizierung und Autorisierung erfolgt über den Authorization Code Flow.
Um diesen Authentifizierungsmechanismus zu konfigurieren, müssen Sie folgende Schritte ausführen:
Wenn Sie diese Schritte abgeschlossen haben, können Sie die:
Um diesen Authentifizierungsmechanismus zu konfigurieren, benötigen Sie Erfahrung mit JSON. Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren ADONIS-Kundenbetreuer.
Voraussetzungen
Bevor Sie ADONIS für die Verwendung von OpenID Connect zur Authentifizierung konfigurieren, benötigen Sie ein Konto bei einem OpenID Connect-Provider (OP) wie Microsoft Azure AD oder Google, um die Identität Ihrer Benutzer zu verifizieren. Registrieren Sie ADONIS bei Ihrem OP und besorgen Sie die folgenden Informationen:
Client-ID
Clientgeheimnis
Autorisierungsendpunkt
Tokenendpunkt
Aussteller-URL (= Issuer)
Authentifizierungskonfiguration der Webapplikation anpassen
Dieser Authentifizierungsmechanismus muss in der ADONIS Administration konfiguriert werden:
Öffnen Sie die ADONIS Administration.
Wechseln Sie zu Startseite > Weitere Optionen, und klicken Sie dann auf Allgemeine Einstellungen.
Im Folgenden sind die notwendigen Einstellungen beschrieben.
OIDC-Konnektor erstellen
Auf der Seite Allgemeine Einstellungen sind unter Konnektoren alle Authentifizierungsmechanismen (= Konnektoren) für ADONIS aufgelistet. Als erstes müssen Sie hier einen neuen OIDC-Konnektor hinzufügen:
Klicken Sie unter Konnektoren auf die Neuer Konnektor Schaltfläche , um einen neuen Konnektor hinzuzufügen.
Klicken Sie auf die Konnektor bearbeiten Schaltfläche , um Ihren neuen Konnektor zu bearbeiten.
Der neue Konnektor enthält bereits einige Parameter. Ersetzen Sie den Inhalt durch das folgende JSON-Snippet und klicken Sie dann auf Speichern:
{
"enabled": true,
"id": "OIDC Login",
"index": 0,
"ldap": {
"domains": [],
"enabled": false,
"properties": []
},
"properties": {
"auth_server_client_id": {
"value": "<Client-ID>"
},
"auth_server_client_secret": {
"value": "<Clientgeheimnis>"
},
"auth_server_issuer": {
"value": "<Aussteller-URL>"
},
"auth_server_url_authorize": {
"value": "<Autorisierungsendpunkt>"
},
"auth_server_url_token": {
"value": "<Tokenendpunkt>"
},
"scopes": {
"value": "profile"
},
"store_login_hint": {
"value": "true"
},
"claims": {
"value": "claim_login,claim_firstname,claim_lastname"
},
"claim_login": {
"value": "sub"
},
"claim_firstname": {
"value": "given_name"
},
"claim_lastname": {
"value": "family_name"
}
},
"type": "OIDC",
"user-mapping": {}
}
Diese Konfiguration lässt sich folgendermaßen erklären:
OIDC-Authentifizierung ist jetzt aktiviert (
"enabled": true,
) und wird als Standard-Konnektor verwendet ("index": 0,
).Wenn Sie möchten, können Sie den Namen des Konnektors ändern (
"id": "OIDC Login",
).LDAP-Kopplung ist deaktiviert (
"ldap": {},
).Eine Reihe von Eigenschaften (
"properties": {},
) haben noch Platzhalter , diese werden im nächsten Schritt konfiguriert.Ein Set von OIDC-Claims, die Informationen über den Benutzer enthalten, ist bereits vorhanden (
"claims": {
). Diese werden später angepasst.Dieser Konnektor ist ein OIDC-Konnektor (
"type": "OIDC",
).Das User Mapping (
"user-mapping": {}
) ist noch leer und wird ebenfalls später konfiguriert.
Konfiguration für Autorisierungsserver bearbeiten
Als nächstes müssen Sie die Konfiguration für den Autorisierungsserver für den OIDC-Konnektor bearbeiten:
- Klicken Sie auf das OpenID Symbol auf der rechten Seite des OIDC-Konnektors.
Das Formular Konfiguration für Autorisierungsserver (OIDC Login) öffnet sich. Sie können folgende Daten eingeben und bearbeiten:
Autorisierungsendpunkt
Der Autorisierungsendpunkt des OP.
Tokenendpunkt
Der Tokenendpunkt des OP.
Issuer
Die Aussteller-URL des OP.
Client-ID
Der allgemeine Kennung für ADONIS wie beim OP registriert.
Client-Schlüssel (= Clientgeheimnis)
Das geheime Passwort für ADONIS wie beim OP registriert.
Benutzer merken
Aktivieren Sie dieses Kontrollkästchen, um die zuletzt verwendete Benutzer-ID zu speichern und für zukünftige Authentifizierungsvorgänge weiterzugeben, sodass dieses Benutzerkonto automatisch ausgewählt wird (kann nützlich sein, wenn mehrere Benutzerkonten betrieben werden).
Claims definieren
Als nächstes müssen Sie die Claims definieren, die der OP bereitstellen soll. Claims werden verwendet, um Informationen über den Benutzer zu übermitteln, z. B. seine E-Mail-Adresse, seinen Vornamen und seinen Nachnamen:
- Klicken Sie auf die Konnektor bearbeiten Schaltfläche auf der rechten Seite des OIDC-Konnektors.
Passen Sie folgende Parameter an:
scopes
OAuth 2.0-Scopes für die Verwendung mit Ihrem OP. Der Standardwert ist "profile", was eine Anfrage zur Anzeige von Informationen über den Benutzer an den OP bedeutet.
claims
Mit dieser Eigenschaft registrieren Sie alle Claims, die ausgewertet werden sollen, z. B.
"value": "claim_login,claim_firstname,claim_lastname"
. Geben Sie für jeden Claim, den Sie synchronisieren möchten, einen sprechenden Namen ein. Trennen Sie die Claims durch Beistriche.claim_login
Der Name des Claims, der den Benutzernamen enthält, der verwendet werden soll.
claim_firstname
Der Name des Claims, der den Vornamen enthält, der verwendet werden soll.
claim_lastname
Der Name des Claims, der den Nachnamen enthält, der verwendet werden soll.
Sie können bei Bedarf weitere Claims erstellen und registrieren (z. B. claim_email
).
User Mapping bereitstellen
Als nächstes müssen Sie ein User Mapping erstellen. Das User Mapping enthält Anweisungen, wie ein Benutzer während des Authentifizierungsprozesses zu behandeln ist, z. B. ob ein Benutzer erstellt werden soll, wenn er noch nicht existiert, oder welche System-Rollen oder Benutzergruppen dem Benutzer zugewiesen werden sollen. Außerdem enthält das User Mapping Anweisungen darüber, wie die vom OP gelieferten Claims auf ADONIS-Benutzerattribute gemappt werden sollen:
- Ersetzen Sie den Abschnitt
"user-mapping": {}
des OIDC-Konnektors mit folgendem JSON-Snippet:
"user-mapping": {
"autoCreateUser": true,
"auto_sync_user": {
"auto_sync_attributes": true,
"auto_sync_groups": true,
"auto_sync_roles": true,
"enabled": true
},
"default_groups": [
"Standardgruppe"
],
"default_roles": [
{
"name": "Common"
}
],
"properties": [
{
"attr": "NAME",
"name": "claim_login"
},
{
"attr": "FORENAME",
"name": "claim_firstname"
},
{
"attr": "SURNAME",
"name": "claim_lastname"
}
],
"repositories": [],
"roles": [],
"user_deletion_handling": {
"deleteNotFoundUsers": true,
"moveUndeletableUsersToGroup": false
}
}
Diese Konfiguration lässt sich folgendermaßen erklären:
Die Benutzer werden bei der Anmeldung automatisch erstellt (
"autoCreateUser": true,
) und die Benutzerdaten werden bei jeder Anmeldung aktualisiert ("auto_sync_user": {...},
).Jedem Benutzer werden die Benutzergruppe "Standardgruppe" und die System-Rolle "Gestalten & Dokumentieren" (sprachunabhängiger Name
Common
) zugewiesen.Die vorher registrierten Claims werden auf ADONIS-Benutzerattribute gemappt
"attr": "...", "name": "..."
.Benutzer, die bei der Synchronisierung nicht gefunden werden, sollen gelöscht werden (
"user_deletion_handling": { "deleteNotFoundUsers": true, ...}
).
Sie können das User Mapping nach Bedarf anpassen. Weitere Informationen finden Sie in der Vorlage, die Sie auf der Seite LDAP herunterladen können, und im Abschnitt User Mapping.
Authentifizierung von Benutzern starten
Sobald die Änderungen in der ADONIS Administration gespeichert werden, werden sie sofort wirksam. Ein Neustart ist nicht erforderlich.
Alle Benutzer, die sich an dem konfigurierten OP anmelden können, sollten sich jetzt auch an ADONIS anmelden können. Wenn Benutzer noch nicht in ADONIS vorhanden sind, werden sie dort erzeugt. Anhand des Mappings in der Konfiguration werden sie entsprechenden System-Rollen/Benutzergruppen zugewiesen.
(Optional) Fehlersuche
Fehler werden in den Dateien ”<Tomcat Installation>/logs/ADONIS16_0.log” und ”<ADONIS Installation/*_aworker.log>” geloggt.