Schlagwörter: openidconnect entra azure login auth
-
AutorBeiträge
-
-
7. Juni 2024 um 9:19 Uhr - Views: 100 #31023
Hallo in die Runde,
es geht um das Customer Portal (OTOBO 10.1). Auth via OpenIDConnect funktioniert, unser Problem liegt (vermutlich) im Mapping.
Ziel ist einfach: Mitarbeiter sollen ihre eigenen Tickets im Customer Portal sehen können.
- Agenten nutzen (noch) LDAP für Auth.
- OpenIDConnect via Entra ID. -> Auth funktioniert
- Kundenverwaltung via LDAP, Customer ID = E-Mail
- Wenn Auth via LDAP -> keine Probleme
OpenIDConnect:
$Self->{'Customer::AuthModule::OpenIDConnect::UID'} = 'preferred_username';
$Self->{'AuthModule::OpenIDConnect::UserMap'} = {
email => 'UserEmail',
given_name => 'UserFirstname',
family_name => 'UserLastname',
};
Relevante claims sind “preferred_username” (UPN) oder email. Mit beiden funktioniert die Authentifizierung.
Nun zum Problem (Mapping Code am Schluss):
Wenn ich als CustomerKey “mail” (oder universalprincipalname) verwende, funktioniert die Anmeldung am Customer Portal und die Benutzer können ihre Tickets sehen. Sie können auch neue Tickets erstellen. Was nicht funktioniert ist die Detailansicht der Tickets (Ticketverlauf). Es kommt ein “Zugriff verweigert”.
Im Log steht: Permission denied (UserID: <username> ‘ro’ on TicketID: 187388)!
Wobei <username> der sAMAccountName ist.
Ändere ich in der Config.pm CustomerKey zu “sAMAccountName” während ich am Customer Portal noch angemeldet bin, kann ich auf die Tickets zugreifen. Leider ist eine (Neu)Anmeldung nicht mehr möglich.
Ich habe die unterschiedlichsten Kombinationen ausprobiert und es will einfach nicht funktionieren. Vielleicht hat jemand eine Idee.
Mapping Konfiguration:
$Self->{CustomerUser} = {
Name => 'CustomerUser',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '<host>',
BaseDN => 'OU=Firma,DC=blah,DC=blub,DC=net',
SSCOPE => 'sub',
UserDN => '<user>',
UserPw => '<pass>',
AlwaysFilter => '(&(objectClass=user)(mail=*.*@email.de)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
Params => {
scheme => 'ldaps',
port => 636,
timeout => 120,
async => 0,
version => 3,
},
},
CustomerKey => 'mail', # sAMAccountName = Ticketdetailansicht möglich, aber kein Login
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
AdminSetPreferences => 0,
Map => [
['UserFirstname', 'Firstname', 'givenname', '1', '1', 'var'],
['UserLastname', 'Lastname', 'sn', '1', '1', 'var'],
['UserLogin', 'Login', 'sAMAccountName', '1', '1', 'var'], # egal was ich hier konfiguriere
['UserEmail', 'Email', 'mail', '1', '1', 'var'],
['UserCustomerID', 'CustomerID', 'mail', '0', '1', 'var'],
['UserPhone', 'Phone', 'telephonenumber', '1', '0', 'var'],
['UserAddress', 'Address', 'postaladdress', '1', '0', 'var'],
['UserComment', 'Comment', 'description', '1', '0', 'var'],
],
};
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.