Single Sign-On: OpenID Connect (OIDC)
Die OIDC-Schnittstelle muss zunächst konfiguriert und zur Anwendung der Konfiguration die lernlog-Instanz neu gestartet werden. Der Neustart muss mit dem Hoster/Anbieter von lernlog durchgeführt werden. Bei Fragen oder Problemen steht der Support von lernlog über das Online-Support-Formular zur Verfügung.
Nach dem Neustart lässt sich die SSO-Funktionalität jederzeit de-/aktivieren.
⚠️ Nutzer*innen müssen im lernlog mit demselben Nutzernamen wie im ID-Provider existieren, um sich über OIDC-SSO einloggen zu können.
Überprüfe, ob du einen Client/Zugriff für das lernlog in Deinem Identitätsanbieter eingerichtet hast und ob dir folgendene Daten vorliegen:
i.d.R. erhälst man von dem ID-Provider die sensiblen Daten: Client-Namen, Client-ID und das Client-Secret
die restlichen, notwendigen Daten findet man im JSON-Format hinter der OpenID Connect-Metadaten-URL (z.B.
https://YOUR-ID_PROVIDER_URL/.well-known/openid-configuration
, oderhttps://YOUR-ID_PROVIDER_URL/realm/MY-REALM/.well-known/openid-configuration
):
{
"authorizationUri": "https://sso-broker.production.univention-id-broker.com/auth/realms/ID-Broker/protocol/openid-connect/auth",
"tokenUri": "https://sso-broker.production.univention-id-broker.com/auth/realms/ID-Broker/protocol/openid-connect/token",
"userInfoUri": "https://sso-broker.production.univention-id-broker.com/auth/realms/ID-Broker/protocol/openid-connect/userinfo",
"jwkSetUri": "https://sso-broker.production.univention-id-broker.com/auth/realms/ID-Broker/protocol/openid-connect/certs",
"userinfo_endpoint": "https://sso-broker.production.univention-id-broker.com/auth/realms/ID-Broker/protocol/openid-connect/userinfo"
...
}
Folgende Werte sind für die weitere Konfiguration relevant (Angabe → Name in lernlog):
Client-Name: Dies ist der Name des Clients (Serviceanbieters), der mit dem OpenID Connect-Provider interagiert.
Client-ID: Dies ist eindeutige Identifikationsnummer für den Client (Serviceanbieter).
Client-Secret: Dies ist eine Zeichenabfolge, die zu Ver- und Entschlüsselung von dem Client und dem ID-Provider gemeinsam verwendet wird, um die Integrität ihrer Datenübertragung sicherzustellen.
Autorisierungs-Endpoint (authorization_endpoint
): Dies ist die URL an der die Nutzerin oder der Nutzer seine Authentifizierung durchführen kann. Hier muss das Nutzerkonto und Passwort eingeben oder sich mit einem externen Anbieter (z.B. itsLearning, Keycloak, …) angemeldet werden.
Token-Endpoint (token_endpoint
): Dies ist die URL, an der der Serviceanbieter ein Token anfordern kann, um den Zugriff auf die von der Nuzterin oder dem Nutzer eingerichteten Daten zu überprüfen.
Userinfo-Endpoint (userinfo_endpoint
): Dies ist die URL an der zusätzliche Informationen über die Nutzerin oder den Nutzer abgerufen werden können (z.B. sein Name, seine Email-Adresse).
JWKS-URL (jwks_uri
): Dies ist die URL an der sich das JWK-Set (JSON Web Key Set) befindet. Das JWK-Set beinhaltet alle Schlüssel, die vom OpenID Connect-Provider verwendet werden können.
PKCE Protokoll: wenn aktiv, wird die Sicherheit der SSO-Verbindung durch ein ergänzendes Protokoll verbessert, fall der ID-Provider es unterstützt
Scopes: für welche Art von Zugriffen authentifiziert man sich gegenüber dem ID-Provider; komma-separierte Auflistung (mindestens notwendig openid
, je nach ID-Provider auch zusätzliche Werte notwendig; z.B. iServ openid,profile
)