LDAP / Active Directory Integration

Sync users and groups from your existing corporate directory — no manual user creation required.

Supported Directory Services

  • OpenLDAP 2.4+
  • Microsoft Active Directory (Windows Server 2012+)
  • Azure Active Directory (via LDAPS)

Configuration

Go to Admin Console → Settings → Identity Sources → Add LDAP:

FieldDescriptionExample
Server AddressLDAP server IP and portldap://192.168.1.5:389
Base DNRoot search pathdc=example,dc=com
Bind AccountRead-only service accountcn=remok-svc,dc=example,dc=com
Bind PasswordService account password
User FilterLDAP filter for VPN users(&(objectClass=person)(memberOf=CN=VPN Users,OU=Groups,DC=example,DC=com))
Sync IntervalHow often to sync changesEvery 30 minutes

Group Mapping

Map LDAP groups to Remok access groups to automatically inherit application permissions:

LDAP Group: CN=Engineering,OU=Groups,DC=example,DC=com
Remok Group: Engineering → access to GitLab, Dev Servers

LDAP Group: CN=Finance,OU=Groups,DC=example,DC=com
Remok Group: Finance → access to ERP, Accounting tools
✅ Once LDAP sync is active, changes in Active Directory (new hires, leavers, role changes) are automatically reflected in Remok — no manual maintenance needed.

Testing the Connection

# Verify LDAP connectivity from the server
ldapsearch -x -H ldap://192.168.1.5:389 \
  -D "cn=remok-svc,dc=example,dc=com" \
  -w "your-password" \
  -b "dc=example,dc=com" "(objectClass=person)"

Troubleshooting Common Errors

Connection Refused

  • Verify the LDAP port (389 or 636 for LDAPS) is open in the firewall
  • Confirm the server address and port are correct
  • Try using the IP address instead of hostname to rule out DNS issues

Invalid Credentials

  • Check the Bind Account DN format — use the full distinguished name
  • Ensure the service account has read access to the user OU
  • Confirm the password has no leading/trailing spaces

No Users Synced

  • Verify the User Filter returns results using ldapsearch
  • Check the Base DN includes the OU where your users reside
  • Ensure the memberOf attribute is populated for your users