Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos SSO OAuth2 OIDC: Authorization Code, Callback URL, ID Token, Userinfo, Nuclos user mapping, acr_values, 2FA, Refresh Token.

globe with meridians Sprache: Deutsch · English

hammer and wrench SSO Konfiguration

Single Sign-On per OAuth2/OIDC – Callback-URL, Benutzer-Mapping, Sitzungen und Zwei-Faktor-Authentifizierung.

Status
colourPurple
titleHow-to
Status
colourBlue
titleAdministrator
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel

...

2

Menüaufruf: (Administration) - (SSO Konfiguration) 

...

Menü Administration → SSO Konfiguration. Nuclos unterstützt Single Sign-On per OAuth2 und OpenID Connect (OIDC)

...

mit dem Authorization Code Grant.

Anmeldung aus Client-

...

Sicht

Aktive Dienste werden

...

beim

...

Start eines Clients als Login-Button angeboten.

...

Rich-Client

 

Image Removed

Der Rich

...

Client

...

nutzt dabei den Webclient mit

...

: Der

...

Button

...

öffnet

...

den Browser

...

, führt durch die Authentifizierung und autorisiert damit auch den Rich

...

Client.

...

Der Webclient startet den Prozess direkt.

Image Added

SSO-Login-Buttons beim Client-Start.

Konfiguration

Die verfügbaren SSO-Dienste werden im Menü Administration gepflegt.

Image Added

SSO-Dienste konfigurieren.

Callback-URL zum Webclient

Immer den Root-Pfad des Webclients angeben, unter dem ihn ein Browser tatsächlich erreicht (Load Balancer/Reverse Proxy berücksichtigen), z.​B

Image Removed

Webclient

Auch in diesem Beispiel wird mit dem Login Button "Login with local Hydra" der Authentifizierungsprozess gestartet.

Image Removed

Konfiguration

Die Konfiguration der zur Verfügung stehenden SSO Dienste erfolgt innerhalb eines Clients, zu finden im Menü Administration.

Image RemovedImage Removed

Callback to Nuclos Webclient

...

. https://my-nuclos-server.example/webclient.

OAuth2

...

-Einstellungen

Die nötigen

...

Werte nennt der SSO-Anbieter. Zum Testen kann Debug aktiviert werden – die Log-Ausgaben landen im server.log

...

.

OIDC

...

: Benutzerermittlung

Die

...

Benutzerinfos kommen entweder aus einem ID Token (Reiter ID token assertion, bevorzugt) oder vom Userinfo-Endpunkt (Reiter Userinfo assertion). Aus dem ClaimsSet muss E-Mail oder Benutzername des Nuclos-Benutzers hervorgehen; das passende Attribut wird unter Nuclos user mapping hinterlegt (zuerst E-Mail, dann Benutzername).

Info
titleVoraussetzung E-Mail

Für die

In beiden Fällen erhalten wir ein ClaimsSet (Beispiel aus dem Log: {"sub":"foo@bar.com","sid":"1bddcca8-bfbc-487c-a9d6-80f60e7e658d"}) in dem entweder die E-Mail Adresse oder der Benutername des Nuclos Benutzers enthalten sein muss, um die Authentifizierung Nuclos-seitig abzuschließen. Um die Ermittlung möglichst flexibel zu gestalten kann im Reiter Nuclos user mapping das Attribut des ClaimsSets hinterlegt werden. Die Suche über die E-Mail erfolgt zu erst, bleibt diese erfolglos wird noch eine Suche über den Benutzernamen versucht, falls konfiguriert. Eines von beidem muss also zwingend konfiguriert sein.

...

titleEmail Suche

...

Ermittlung über die E-Mail

...

-Adresse muss am Benutzer Login mit E-Mail-Adresse zulassen

...

Image Removed

aktiviert sein.

Sitzung, Logout & Cluster

  • Refresh Tokens werden regelmäßig erneuert; ohne gültige Erneuerung wird der Benutzer ausgeloggt (Rich Client schließt sich – daher Refresh Tokens bereitstellen).
  • Maßgeblich bleibt die JSESSIONID; der OAuth2-Dienst wird dadurch geschont.
  • Ein Nuclos-Logout wird (noch) nicht an den OAuth2-Dienst weitergeleitet und umgekehrt.
  • Im Cluster-Betrieb sind Sticky Sessions zwingend (SSO-Tokens liegen nur am jeweiligen Application Server).

Zwei-Faktor-

 Hintergrundinformationen

Requests & Sitzungsdauer

Der OAuth2 Dienst wird zusätzlich zur anfänglichen Authentifizierung auch zur Erneurung der Refresh Tokens in regelmäßigen Abständen (bei Ablauf eines Tokens) angefragt, sofern vom Dienst bei der Anmeldung mitgeliefert. Werden keine geliefert, oder ist die Erneurung erfolglos wird der Benutzer ausgeloggt. Ein Richclient schließt sich nach Meldung der abgelaufenen Sitzung komplett. Da so womöglich ungespeicherte Änderungen verloren gehen, sollte möglichst der OAuth2 Dienst Refresh Tokens zur Verfügung stellen.

Für unseren Nuclos Server ist auch weiterhin die JSESSIONID (Cookie) ausschlaggebend und wird bei jedem Request geprüft. Ein OAuth2 Dienst wird damit möglichst wenig beansprucht.

Logout

Ein Logout in Nuclos hat bisher noch keine Auswirkungen auf den OAuth2 Dienst, wird also (noch) nicht weitergeleitet, es wird lediglich die Nuclos Sitzung beendet. Auch wirkt sich ein Logout im OAuth2 Dienst noch nicht direkt auf eine Nuclos Sitzung aus. Nur indirekt, da zu erwarten ist, dass ein Refresh Token nicht erneuert werden kann.

Sticky Sessions (Clustering)

Ein Clustering von Nuclos Application Servern setzt zwangsläufig Sticky Sessions vorraus, da es für eine Sitzung Informationen geben kann, die nur am Application Server abgelegt und nicht unter den Servern ausgetauscht werden. SSO relevante Informationen (Tokens etc.) gehören auch dazu.

...

Authentifizierung (2-FA)

...

Parameter acr_values

...

  • Acr Values (ab 4.2022.36

...

Im Screenshot wird durch "strongAuth4000Service" eine 2-FA Authentifizierung erzwungen. Dieser einzutragende Wert ist von System zu System unterschiedlich.

Image Removed

Parameter Auth Level

...

  • ): erzwingt über acr_values bestimmte Anmeldeverfahren (z.​B. 2-FA); der Wert ist systemabhängig.
  • Auth Level (ab 4.2022.38, Beta): numerischer Vergleichswert – nur bei bekannter Kompatibilität setzen.

Verwandte Seiten

gear LDAP Konfiguration


LDAP.

Öffnen →

gear Benutzer


Benutzer.

Öffnen →

kann ein numerischer Wert angegeben werden, der dazu dienen, bestehende Authentifizierung zu überprüfen, ob sie "hoch" genug sind. Damit das überhaupt funktionieren kann, muss der SSO-Server eine bestimmte Response mit Wert zurückgeben. Falls der Wert zu niedrig ist oder die Syntax nicht genau den Erwartungen erfüllt, scheitert die Überprüfung.
Die Implementierung zu "Auth Level" befindet sich noch Beta-Stadium und wird für viele System nicht funktionieren. Daher sollte hier nichts eingetragen werden, wenn man nicht die Kompatibilität kennt und/oder es Probleme gibt.