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
Welche OTOBO-Version braucht OpenID Connect?
OpenID-Connect-Login für Agenten und Kundenbenutzer erfordert OTOBO 11 oder höher.
Wo wird OpenID Connect für Agenten konfiguriert?
Die Agenten-OIDC-Einstellungen liegen in Kernel/Config.pm mit AuthModule OpenIDConnect und den ClientSettings.
Welche Identity Provider funktionieren mit OTOBO OIDC?
Jeder OpenID-Connect-kompatible IdP ist möglich, darunter Azure AD, Keycloak und Auth0.