1. Go to this page and download the library: Download fortyseeds/ci4-shield-ldap library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fortyseeds / ci4-shield-ldap example snippets
// app/Config/AuthLDAP.php
public string $ldap_host = 'ldap://dc.company.com';
public string $ldap_port = '389';
public bool $use_ldaps = true; // Use port 636 for LDAPS
public string $ldap_type = 'ad';
public string $ldap_domain = 'company'; // For domain\username format
public string $username = 'CN=Service Account,OU=Service Accounts,DC=company,DC=com';
public string $password = 'service_password';
public string $search_base = 'OU=Users,DC=company,DC=com';
// Active Directory attributes
public array $attributes = [
'objectSID', 'distinguishedname', 'displayName', 'title', 'description',
'cn', 'givenName', 'sn', 'mail', 'co', 'telephoneNumber', 'mobile',
'company', 'department', 'l', 'postalCode', 'streetAddress',
'samaccountname', 'thumbnailPhoto', 'userAccountControl'
];
// app/Config/AuthLDAP.php
public string $ldap_host = 'ldap://ipa.company.com';
public string $ldap_port = '389';
public bool $use_ldaps = true; // Use port 636 for LDAPS
public string $ldap_type = 'ldap';
public string $login_attribute = 'uid'; // or 'cn' depending on your schema
public string $username = 'cn=admin,dc=company,dc=com';
public string $password = 'admin_password';
public string $search_base = 'cn=users,cn=accounts,dc=company,dc=com';
// OpenLDAP/FreeIPA attributes
public array $attributes = [
'uid', 'cn', 'dn', 'distinguishedName', 'entryUUID', 'entryDN',
'displayName', 'title', 'description', 'givenName', 'sn', 'mail',
'telephoneNumber', 'mobile', 'o', 'ou', 'l', 'postalCode', 'street',
'employeeNumber', 'employeeType', 'departmentNumber',
'krbPrincipalName', 'krbCanonicalName', 'ipaUniqueID', 'memberOf'
];