OpenLDAP bind DN as email

420 views Asked by At

I'm trying to build and openLDAP container for my nodejs app. This is the code i'm using.

try {
        client = ldap.createClient({
            url: 'ldap://openldap:389'
        })
    } catch (err) {
        return errorHandler(req, res, err)
    }
    try {
        client.bind(email, password, async (err, result) => {
(...)
}

When I'm doing a request using company LDAP I use email in my request and I got a response from my request.

But when I'm creating a container LDAP I only get a response from my request if I use DN instead of e-mail. This is the service LDAP that i'm creating for development

services:
  openldap:
    image: osixia/openldap:latest
    container_name: openldap
    hostname: openldap
    restart: always
    ports:
      - '389:389'
      - '636:636'
    environment:
      - LDAP_ORGANISATION=company
      - LDAP_DOMAIN=example.org
      - "LDAP_BASE_DN=dc=example,dc=org"
      - LDAP_ADMIN_PASSWORD=test123
    volumes:
      - ./test.ldif:/test.ldif

    networks:
      - infra-net

And my file test.ldif that I'm using is :

dn: uid=test,dc=example,dc=org
uid: test
cn: test
sn: 3
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
loginShell: /bin/bash
homeDirectory: /home/test
uidNumber: 14583102
gidNumber: 14564100
userPassword: test
mail: [email protected]
gecos: test User

I know I can do it with client.search but I would love to get response using client.bind like we get in production.

0

There are 0 answers