Overview
Faction supports LDAP (Lightweight Directory Access Protocol) authentication, allowing you to integrate with Active Directory, OpenLDAP, or other LDAP-compliant directory services. This enables centralized user management and single sign-on capabilities.Configuration
Basic LDAP Settings
Configure LDAP authentication in Faction’s system settings:Parameter Descriptions
| Parameter | Description | Example |
|---|---|---|
ldapURL | LDAP server URL and port | ldap://ldap.example.com:389 or ldaps://ldap.example.com:636 |
ldapBaseDN | Base Distinguished Name for searches | dc=company,dc=com |
ldapBindDN | DN for binding to LDAP | cn=faction,ou=services,dc=company,dc=com |
ldapBindPassword | Password for bind DN | |
ldapSecurity | Security protocol | ssl, tls, or none |
ldapObjectClass | LDAP object class filter | user, inetOrgPerson, or empty |
ldapInsecureSSL | Skip SSL certificate validation | true or false (default) |
Active Directory Configuration
For Microsoft Active Directory:OpenLDAP Configuration
For OpenLDAP servers:User Provisioning
Automatic User Creation
When a user successfully authenticates via LDAP, Faction automatically provisions their account using the following attributes:| LDAP Attribute | Faction Field | Fallback |
|---|---|---|
mail | Required | |
givenName | First Name | |
sn | Last Name | |
sAMAccountName | Username | uid |
uid | Username | sAMAccountName |
Search Filters
Faction uses the following search filters to locate users: With ObjectClass specified:User Search
For user search functionality, Faction queries multiple attributes:Testing LDAP Connection
Connection Validation
- Navigate to Settings > Authentication > LDAP
- Enter your LDAP configuration parameters
-
Click Test Connection to validate:
- Server connectivity
- Bind credentials
- Base DN accessibility
- If successful, you’ll see a confirmation message
Test User Authentication
To verify user authentication:- In LDAP settings, use the Test User section
- Enter a username from your directory
- Click Search User to verify Faction can locate and retrieve user attributes
- Review the retrieved attributes (email, first name, last name)
Security Configuration
SSL/TLS Options
SSL (Secure LDAP)
SSL (Secure LDAP)
Use LDAPS on port 636 for encrypted connections:
StartTLS
StartTLS
Use TLS upgrade on standard LDAP port 389:
Insecure SSL (Development Only)
Insecure SSL (Development Only)
For testing with self-signed certificates:
Implementation Details
Faction’s LDAP implementation uses the following Java JNDI context properties:src/com/fuse/authentication/LDAPValidator.java
Troubleshooting
Connection Timeout
Connection Timeout
- Verify the LDAP server URL and port are correct
- Ensure firewall rules allow outbound LDAP/LDAPS traffic
- Check if the LDAP server is running and accessible
- Test connectivity using
telnet ldap.example.com 389
Authentication Failed
Authentication Failed
- Verify bind DN and password are correct
- Ensure the bind DN has search permissions on the base DN
- Check LDAP server logs for authentication errors
- Verify the user exists in the directory with correct attributes
SSL Certificate Errors
SSL Certificate Errors
- Import the LDAP server’s SSL certificate into Faction’s trust store
- Verify the certificate is valid and not expired
- Check that the certificate CN matches the LDAP server hostname
- For testing only, enable
ldapInsecureSSL
User Not Found
User Not Found
- Verify the base DN is correct
- Check that the user exists under the base DN
- Ensure the objectClass filter matches your directory schema
- Test with an empty objectClass to use auto-detection
Missing User Attributes
Missing User Attributes
- Verify your LDAP schema includes the required attributes
- Check LDAP attribute mappings (mail, givenName, sn, uid/sAMAccountName)
- Ensure the bind account has read permissions for user attributes
Best Practices
Use Service Accounts
Create a dedicated service account for Faction’s LDAP binding with minimal required permissions.
Enable SSL/TLS
Always use encrypted LDAP connections (LDAPS or StartTLS) in production environments.
Restrict Base DN
Use the most specific base DN possible to limit search scope and improve performance.
Monitor Authentication
Review LDAP authentication logs regularly to detect suspicious activity.
