ldaü
All checks were successful
Deploy / deploy-staging (push) Successful in 58s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-06-15 01:03:55 +02:00
parent cd5525ff2e
commit 344dbb9b79
9 changed files with 854 additions and 18 deletions

View File

@@ -26,7 +26,7 @@ final class RegistrationLdifBuilder
$gidNumber = trim((string) ($provisioning['gid_number'] ?? ''));
$homeDirectory = trim((string) ($provisioning['home_directory'] ?? ''));
$loginShell = trim((string) ($provisioning['login_shell'] ?? ($this->config['ldap']['default_login_shell'] ?? '/bin/sh')));
$memberOf = array_values(array_filter(array_map('trim', explode(',', (string) ($provisioning['member_of_csv'] ?? '')))));
$memberOf = $this->parseGroupDns((string) ($provisioning['member_of_list'] ?? ''));
$displayName = trim((string) ($provisioning['display_name'] ?? $request['display_name'] ?? ''));
$givenName = trim((string) ($request['given_name'] ?? ''));
$familyName = trim((string) ($request['family_name'] ?? ''));
@@ -137,6 +137,16 @@ final class RegistrationLdifBuilder
return implode(PHP_EOL, $lines) . PHP_EOL;
}
/**
* @return array<int, string>
*/
private function parseGroupDns(string $value): array
{
$lines = preg_split('/\r\n|\r|\n/', $value) ?: [];
return array_values(array_filter(array_map('trim', $lines)));
}
private function generateUuidV4(): string
{
$bytes = random_bytes(16);