OpenID Connect in OTOBO – SSO für Agenten & Kunden
In diesem Guide: Authentifizierung über externen Identity Provider für Agenten und Kundenportal-Nutzer.
Verwandte Themen: OAuth2 E-Mail · Kundenbenutzer · SSO Kerberos · Support
Mit OpenID Connect (OIDC) können sowohl Agenten als auch Kundenbenutzer im OTOBO-Ticketsystem bequem und sicher authentifiziert werden. Die Benutzerverwaltung erfolgt zentral über einen externen Identity-Provider (IdP) wie Azure AD oder Keycloak.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- OTOBO 11 oder höher
- OpenID-Connect-kompatibler Identity-Provider (Azure AD, Keycloak, Auth0 etc.)
- Zugang zur Datei
Kernel/Config.pm
Agenten-Login mit OpenID Connect konfigurieren
Abschnitt betitelt „Agenten-Login mit OpenID Connect konfigurieren“Die Integration für Agenten erfolgt in der Kernel/Config.pm.
Beispielkonfiguration
Abschnitt betitelt „Beispielkonfiguration“$Self->{AuthModule} = 'Kernel::System::Auth::OpenIDConnect';
$Self->{'AuthModule::OpenIDConnect::Config'}{ClientSettings} = { ClientID => 'DEINE-AGENT-CLIENT-ID', ClientSecret => 'DEIN-AGENT-CLIENT-SECRET', RedirectURI => 'https://deine-domain.de/otobo/index.pl?Action=Login',};
$Self->{'AuthModule::OpenIDConnect::Config'}{ProviderSettings} = { OpenIDConfiguration => 'https://dein-provider.de/.well-known/openid-configuration', TTL => 1800,};
$Self->{'AuthModule::OpenIDConnect::AuthRequest'}->{ResponseType} = ['code'];$Self->{'AuthModule::OpenIDConnect::AuthRequest'}->{AdditionalScope} = [qw/profile email/];
$Self->{'AuthModule::OpenIDConnect::UID'} = 'email';
$Self->{'AuthModule::OpenIDConnect::UserMap'} = { email => 'UserEmail', given_name => 'UserFirstname', family_name => 'UserLastname',};
# Optionales Mapping von Gruppen/Rollen$Self->{'AuthModule::OpenIDConnect::RoleMap'} = { groups => { admins => 'admin', support => 'support', },};
# Debugging (temporär)$Self->{'AuthModule::OpenIDConnect::Debug'}->{'LogIDToken'} = 1;Kundenbenutzer-Login mit OpenID Connect konfigurieren
Abschnitt betitelt „Kundenbenutzer-Login mit OpenID Connect konfigurieren“Auch Kundenbenutzer können via OpenID Connect authentifiziert werden.
Beispielkonfiguration für Kundenbenutzer
Abschnitt betitelt „Beispielkonfiguration für Kundenbenutzer“$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::OpenIDConnect';
$Self->{'Customer::AuthModule::OpenIDConnect::Config'}{ClientSettings} = { ClientID => 'DEINE-KUNDEN-CLIENT-ID', ClientSecret => 'DEIN-KUNDEN-CLIENT-SECRET', RedirectURI => 'https://deine-domain.de/otobo/customer.pl?Action=Login',};
$Self->{'Customer::AuthModule::OpenIDConnect::Config'}{ProviderSettings} = { OpenIDConfiguration => 'https://dein-provider.de/.well-known/openid-configuration', TTL => 1800,};
$Self->{'Customer::AuthModule::OpenIDConnect::AuthRequest'}->{ResponseType} = ['code'];$Self->{'Customer::AuthModule::OpenIDConnect::AuthRequest'}->{AdditionalScope} = [qw/profile email/];
$Self->{'Customer::AuthModule::OpenIDConnect::UID'} = 'email';
$Self->{'Customer::AuthModule::OpenIDConnect::UserMap'} = { email => 'UserEmail', given_name => 'UserFirstname', family_name => 'UserLastname',};
# Automatische Kundenbenutzeranlage$Self->{'Customer::AuthModule::OpenIDConnect::AutoCreateUser'} = 1;
# Optionales Debugging$Self->{'Customer::AuthModule::OpenIDConnect::Debug'}->{'LogIDToken'} = 1;Azure AD optimal konfigurieren (Beispiel)
Abschnitt betitelt „Azure AD optimal konfigurieren (Beispiel)“-
Neue App in Azure Active Directory registrieren
-
Berechtigungen für „openid“, „profile“ und „email“ hinzufügen
-
Redirect-URLs setzen:
- Agenten:
https://deine-domain.de/otobo/index.pl?Action=Login - Kunden:
https://deine-domain.de/otobo/customer.pl?Action=Login
- Agenten:
-
Claims (
given_name,family_name) unter „Token Configuration“ konfigurieren
Login testen
Abschnitt betitelt „Login testen“Nach der Konfiguration und dem Neustart des Webservers können Agenten und Kundenbenutzer bequem über Ihren externen IdP authentifiziert werden. Neue Benutzer werden automatisch in OTOBO angelegt, sofern dies konfiguriert ist.
Vorteile der OIDC-Integration in OTOBO
Abschnitt betitelt „Vorteile der OIDC-Integration in OTOBO“- Zentrale und sichere Authentifizierung
- Einheitliche Identitätsverwaltung
- Automatische Benutzeranlage
- Weniger Administrationsaufwand
FAQ: OpenID Connect in OTOBO
Abschnitt betitelt „FAQ: OpenID Connect in OTOBO“Ab welcher Version unterstützt OTOBO OpenID Connect?
Abschnitt betitelt „Ab welcher Version unterstützt OTOBO OpenID Connect?“OpenID Connect wird ab OTOBO 11 nativ unterstützt – sowohl für Agenten als auch für Kundenbenutzer.
Funktioniert OIDC mit Azure AD / Microsoft Entra ID, Keycloak und Auth0?
Abschnitt betitelt „Funktioniert OIDC mit Azure AD / Microsoft Entra ID, Keycloak und Auth0?“Ja. Jeder standardkonforme OpenID-Connect-Provider lässt sich anbinden. Sie benötigen lediglich die OpenIDConfiguration-URL (.well-known/openid-configuration), eine Client-ID und ein Client-Secret.
Werden neue Benutzer automatisch angelegt?
Abschnitt betitelt „Werden neue Benutzer automatisch angelegt?“Für Kundenbenutzer ja, sofern AutoCreateUser aktiviert ist. Das Mapping der Claims (email, given_name, family_name) auf OTOBO-Felder steuern Sie über UserMap.
Kann ich Agenten und Kunden mit unterschiedlichen Providern authentifizieren?
Abschnitt betitelt „Kann ich Agenten und Kunden mit unterschiedlichen Providern authentifizieren?“Ja. Agenten-Login (AuthModule) und Kundenbenutzer-Login (Customer::AuthModule) werden getrennt konfiguriert und können auf unterschiedliche Provider und Client-IDs zeigen.
Weiterführende Links
Abschnitt betitelt „Weiterführende Links“Häufig gestellte Fragen
Ab welcher OTOBO-Version wird OpenID Connect für Agenten und Kunden unterstützt?
OTOBO unterstützt OpenID Connect (OIDC) nativ ab Version 11. Diese Integration ermöglicht sowohl Agenten als auch Kundenbenutzern die Authentifizierung über einen externen Identity Provider (IdP). Die Konfiguration erfolgt getrennt für Agenten im AuthModule und für Kundenbenutzer im Customer::AuthModule in der Kernel/Config.pm. Dies stellt eine zentrale und sichere Benutzerverwaltung sicher und reduziert den administrativen Aufwand, da die Identitäten zentral verwaltet werden können.
Quellen:
Welche Identity Provider sind mit OTOBO OpenID Connect kompatibel und welche Informationen werden benötigt?
OTOBO ist mit jedem standardkonformen OpenID Connect-kompatiblen Identity Provider (IdP) kompatibel. Dazu gehören gängige Lösungen wie Azure AD (Microsoft Entra ID), Keycloak und Auth0. Um eine Verbindung herzustellen, benötigen Sie primär die OpenIDConfiguration-URL (oft im Format https://dein-provider.de/.well-known/openid-configuration), eine eindeutige ClientID und ein ClientSecret, die Sie bei Ihrem IdP registrieren müssen. Diese Daten werden dann in der Kernel/Config.pm von OTOBO hinterlegt, um die Kommunikation zwischen OTOBO und dem IdP zu ermöglichen.
Quellen:
Wie wird OpenID Connect für Agenten in OTOBO konfiguriert?
Die Konfiguration für Agenten erfolgt in der Datei Kernel/Config.pm. Sie müssen das AuthModule auf 'Kernel::System::Auth::OpenIDConnect' setzen. Anschließend definieren Sie die ClientSettings mit Ihrer ClientID, Ihrem ClientSecret und der RedirectURI für das Agentenportal (https://deine-domain.de/otobo/index.pl?Action=Login). Die ProviderSettings umfassen die OpenIDConfiguration-URL Ihres IdP. Optional können Sie AuthRequest Parameter wie ResponseType und AdditionalScope sowie ein UserMap für die Synchronisation von Benutzerdaten (z.B. email zu UserEmail, given_name zu UserFirstname) festlegen. Ein RoleMap kann zur Zuweisung von OTOBO-Gruppen basierend auf IdP-Rollen genutzt werden.
Quellen:
Können Kundenbenutzer ebenfalls OpenID Connect nutzen und werden sie automatisch in OTOBO angelegt?
Ja, Kundenbenutzer können ebenfalls über OpenID Connect authentifiziert werden. Die Konfiguration erfolgt analog zu den Agenten in der Kernel/Config.pm, jedoch unter dem Schlüssel $Self->{'Customer::AuthModule'}. Hier setzen Sie den Wert auf 'Kernel::System::CustomerAuth::OpenIDConnect'. Die ClientSettings und ProviderSettings werden spezifisch für das Kundenportal angepasst, inklusive der RedirectURI (https://deine-domain.de/otobo/customer.pl?Action=Login). Die automatische Anlage neuer Kundenbenutzer ist möglich, indem Sie $Self->{'Customer::AuthModule::OpenIDConnect::AutoCreateUser'} = 1; setzen. Das UserMap definiert, wie Claims vom IdP (z.B. email, given_name) auf OTOBO-Kundenbenutzerfelder abgebildet werden, was eine nahtlose Integration ermöglicht.
Quellen:
Welche spezifischen Schritte sind für die optimale Konfiguration von Azure AD (Microsoft Entra ID) mit OTOBO OIDC erforderlich?
Für Azure AD (jetzt Microsoft Entra ID) sind einige spezifische Schritte zu beachten. Zuerst registrieren Sie eine neue Anwendung im Azure Active Directory. Dann müssen Sie die erforderlichen Berechtigungen für „openid“, „profile“ und „email“ hinzufügen, damit OTOBO die notwendigen Benutzerinformationen abrufen kann. Ein kritischer Schritt ist das Setzen der korrekten Redirect-URLs: https://deine-domain.de/otobo/index.pl?Action=Login für Agenten und https://deine-domain.de/otobo/customer.pl?Action=Login für Kunden. Schließlich sollten Sie unter „Token Configuration“ die Claims wie given_name und family_name konfigurieren, um eine reibungslose Benutzerdaten-Synchronisation mit OTOBO zu gewährleisten und die Anzeige von Vor- und Nachnamen zu ermöglichen.
Quellen: