Zum Inhalt springen

OpenID Connect in OTOBO integrieren (Agenten und Kunden)

OpenID Connect in OTOBO integrieren (Agenten und Kunden)

Abschnitt betitelt „OpenID Connect in OTOBO integrieren (Agenten und Kunden)“

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