description: > Leer hoe u authenticatie voor agenten en klantgebruikers kunt realiseren in het OTOBO/Znuny ticketsysteem met OpenID Connect (OIDC).
OpenID Connect integreren in OTOBO (Agenten en Klanten)
Met OpenID Connect (OIDC) kunnen zowel agenten als klantgebruikers gemakkelijk en veilig worden geauthenticeerd in het OTOBO ticketsysteem. Gebruikersbeheer wordt centraal beheerd via een externe Identity Provider (IdP) zoals Azure AD of Keycloak.
Vereisten
- OTOBO 11 of hoger
- OpenID Connect-compatibele Identity Provider (Azure AD, Keycloak, Auth0 etc.)
- Toegang tot het bestand
Kernel/Config.pm
Agent Login configureren met OpenID Connect
De integratie voor agenten wordt gedaan in Kernel/Config.pm.
Voorbeeldconfiguratie
$Self->{AuthModule} = 'Kernel::System::Auth::OpenIDConnect';
$Self->{'AuthModule::OpenIDConnect::Config'}{ClientSettings} = {
ClientID => 'JOUW-AGENT-CLIENT-ID',
ClientSecret => 'JOUW-AGENT-CLIENT-SECRET',
RedirectURI => 'https://jouw-domein.nl/otobo/index.pl?Action=Login',
};
$Self->{'AuthModule::OpenIDConnect::Config'}{ProviderSettings} = {
OpenIDConfiguration => 'https://jouw-provider.nl/.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',
};
# Optionele mapping van groepen/rollen
$Self->{'AuthModule::OpenIDConnect::RoleMap'} = {
groups => {
admins => 'admin',
support => 'support',
},
};
# Debugging (tijdelijk)
$Self->{'AuthModule::OpenIDConnect::Debug'}->{'LogIDToken'} = 1;Klantgebruiker Login configureren met OpenID Connect
Klantgebruikers kunnen ook worden geauthenticeerd via OpenID Connect.
Voorbeeldconfiguratie voor klantgebruikers
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::OpenIDConnect';
$Self->{'Customer::AuthModule::OpenIDConnect::Config'}{ClientSettings} = {
ClientID => 'JOUW-KLANTEN-CLIENT-ID',
ClientSecret => 'JOUW-KLANTEN-CLIENT-SECRET',
RedirectURI => 'https://jouw-domein.nl/otobo/customer.pl?Action=Login',
};
$Self->{'Customer::AuthModule::OpenIDConnect::Config'}{ProviderSettings} = {
OpenIDConfiguration => 'https://jouw-provider.nl/.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 aanmaak van klantgebruikers
$Self->{'Customer::AuthModule::OpenIDConnect::AutoCreateUser'} = 1;
# Optioneel debugging
$Self->{'Customer::AuthModule::OpenIDConnect::Debug'}->{'LogIDToken'} = 1;Azure AD optimaal configureren (Voorbeeld)
Registreer een nieuwe app in Azure Active Directory
Voeg machtigingen toe voor "openid", "profile" en "email"
Stel de Redirect-URL's in:
- Agenten:
https://jouw-domein.nl/otobo/index.pl?Action=Login - Klanten:
https://jouw-domein.nl/otobo/customer.pl?Action=Login
- Agenten:
Configureer claims (
given_name,family_name) onder "Token Configuration"
Login testen
Na de configuratie en herstart van de webserver kunnen agenten en klantgebruikers gemakkelijk worden geauthenticeerd via uw externe IdP. Nieuwe gebruikers worden automatisch aangemaakt in OTOBO, indien geconfigureerd.
Voordelen van OIDC-integratie in OTOBO
- Centrale en veilige authenticatie
- Uniform identiteitsbeheer
- Automatische aanmaak van gebruikers
- Minder administratieve inspanning