Ir al contenido

Integrar OpenID Connect en OTOBO (Agentes y Clientes)

Integrar OpenID Connect en OTOBO (Agentes y Clientes)

Sección titulada «Integrar OpenID Connect en OTOBO (Agentes y Clientes)»

Con OpenID Connect (OIDC), tanto los agentes como los usuarios clientes pueden ser autenticados de forma cómoda y segura en el sistema de tickets OTOBO. La gestión de usuarios se realiza de forma centralizada a través de un Identity Provider (IdP) externo como Azure AD o Keycloak.

  • OTOBO 11 o superior
  • Identity Provider compatible con OpenID Connect (Azure AD, Keycloak, Auth0, etc.)
  • Acceso al archivo Kernel/Config.pm

Configurar el inicio de sesión de agentes con OpenID Connect

Sección titulada «Configurar el inicio de sesión de agentes con OpenID Connect»

La integración para agentes se realiza en el archivo Kernel/Config.pm.

$Self->{AuthModule} = 'Kernel::System::Auth::OpenIDConnect';
$Self->{'AuthModule::OpenIDConnect::Config'}{ClientSettings} = {
ClientID => 'TU-CLIENT-ID-DE-AGENTE',
ClientSecret => 'TU-CLIENT-SECRET-DE-AGENTE',
RedirectURI => 'https://tu-dominio.de/otobo/index.pl?Action=Login',
};
$Self->{'AuthModule::OpenIDConnect::Config'}{ProviderSettings} = {
OpenIDConfiguration => 'https://tu-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',
};
# Mapeo opcional de grupos/roles
$Self->{'AuthModule::OpenIDConnect::RoleMap'} = {
groups => {
admins => 'admin',
support => 'support',
},
};
# Debugging (temporal)
$Self->{'AuthModule::OpenIDConnect::Debug'}->{'LogIDToken'} = 1;

Configurar el inicio de sesión de usuarios clientes con OpenID Connect

Sección titulada «Configurar el inicio de sesión de usuarios clientes con OpenID Connect»

Los usuarios clientes también pueden ser autenticados mediante OpenID Connect.

Ejemplo de configuración para usuarios clientes

Sección titulada «Ejemplo de configuración para usuarios clientes»
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::OpenIDConnect';
$Self->{'Customer::AuthModule::OpenIDConnect::Config'}{ClientSettings} = {
ClientID => 'TU-CLIENT-ID-DE-CLIENTE',
ClientSecret => 'TU-CLIENT-SECRET-DE-CLIENTE',
RedirectURI => 'https://tu-dominio.de/otobo/customer.pl?Action=Login',
};
$Self->{'Customer::AuthModule::OpenIDConnect::Config'}{ProviderSettings} = {
OpenIDConfiguration => 'https://tu-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',
};
# Creación automática de usuarios clientes
$Self->{'Customer::AuthModule::OpenIDConnect::AutoCreateUser'} = 1;
# Debugging opcional
$Self->{'Customer::AuthModule::OpenIDConnect::Debug'}->{'LogIDToken'} = 1;

Configurar Azure AD de forma óptima (ejemplo)

Sección titulada «Configurar Azure AD de forma óptima (ejemplo)»
  1. Registrar una nueva App en Azure Active Directory

  2. Añadir permisos para “openid”, “profile” y “email”

  3. Establecer las Redirect-URLs:

    • Agentes: https://tu-dominio.de/otobo/index.pl?Action=Login
    • Clientes: https://tu-dominio.de/otobo/customer.pl?Action=Login
  4. Configurar los Claims (given_name, family_name) en “Token Configuration”


Tras la configuración y el reinicio del servidor web, los agentes y usuarios clientes podrán autenticarse cómodamente a través de su IdP externo. Los nuevos usuarios se crearán automáticamente en OTOBO, siempre que esto esté configurado.


  • Autenticación centralizada y segura
  • Gestión de identidades unificada
  • Creación automática de usuarios
  • Menor carga administrativa