Zum Inhalt springen

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.

  • OTOBO 11 oder höher
  • OpenID-Connect-kompatibler Identity-Provider (Azure AD, Keycloak, Auth0 etc.)
  • Zugang zur Datei Kernel/Config.pm

Die Integration für Agenten erfolgt in der Kernel/Config.pm.

$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.

$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;

  1. Neue App in Azure Active Directory registrieren

  2. Berechtigungen für „openid“, „profile“ und „email“ hinzufügen

  3. Redirect-URLs setzen:

    • Agenten: https://deine-domain.de/otobo/index.pl?Action=Login
    • Kunden: https://deine-domain.de/otobo/customer.pl?Action=Login
  4. Claims (given_name, family_name) unter „Token Configuration“ konfigurieren


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.


  • Zentrale und sichere Authentifizierung
  • Einheitliche Identitätsverwaltung
  • Automatische Benutzeranlage
  • Weniger Administrationsaufwand

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.

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.


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.