diff --git a/Documentation/connectors/ldap.md b/Documentation/connectors/ldap.md index e69c3005..5c74a319 100644 --- a/Documentation/connectors/ldap.md +++ b/Documentation/connectors/ldap.md @@ -13,16 +13,17 @@ The connector executes two primary queries: The dex repo contains a basic LDAP setup using [OpenLDAP][openldap]. -First start the LDAP server using the example script. This will run the OpenLDAP daemon and seed it with an initial set of users. +First start the LDAP server using docker-compose. This will run the OpenLDAP daemon in a Docker container, and seed it with an initial set of users. ``` -./scripts/slapd.sh +cd examples/ldap +docker-compose up ``` -This script sets the LDAP daemon to debug mode, and is expected to print several error messages which are normal. Once the server is up, run dex. +This container is expected to print several warning messages which are normal. Once the server is up, run dex in another terminal. ``` -./bin/dex serve examples/config-ldap.yaml +./bin/dex serve examples/ldap/config-ldap.yaml ``` Then run the OAuth client in another terminal. diff --git a/examples/config-ldap.ldif b/examples/ldap/config-ldap.ldif similarity index 80% rename from examples/config-ldap.ldif rename to examples/ldap/config-ldap.ldif index 55cc81f9..8840bf80 100644 --- a/examples/config-ldap.ldif +++ b/examples/ldap/config-ldap.ldif @@ -1,8 +1,10 @@ -dn: dc=example,dc=org -objectClass: dcObject -objectClass: organization -o: Example Company -dc: example +# Already included in default config of Docker image osixia/openldap:1.4.0. +# +# dn: dc=example,dc=org +# objectClass: dcObject +# objectClass: organization +# o: Example Company +# dc: example dn: ou=People,dc=example,dc=org objectClass: organizationalUnit diff --git a/examples/config-ldap.yaml b/examples/ldap/config-ldap.yaml similarity index 97% rename from examples/config-ldap.yaml rename to examples/ldap/config-ldap.yaml index 05265b4b..f35465ad 100644 --- a/examples/config-ldap.yaml +++ b/examples/ldap/config-ldap.yaml @@ -11,7 +11,7 @@ connectors: name: OpenLDAP id: ldap config: - host: localhost:10389 + host: localhost:389 # No TLS for this setup. insecureNoSSL: true diff --git a/examples/ldap/docker-compose.yaml b/examples/ldap/docker-compose.yaml new file mode 100644 index 00000000..73ae5ebd --- /dev/null +++ b/examples/ldap/docker-compose.yaml @@ -0,0 +1,16 @@ +version: "3" + +services: + ldap: + image: osixia/openldap:1.4.0 + # Copying is required because the entrypoint modifies the *.ldif files. + # For verbose output, use: command: ["--copy-service", "--loglevel", "debug"] + command: ["--copy-service"] + # https://github.com/osixia/docker-openldap#seed-ldap-database-with-ldif + # Option 1: Add custom seed file -> mount to /container/service/slapd/assets/config/bootstrap/ldif/custom/ + # Option 2: Overwrite default seed file -> mount to /container/service/slapd/assets/config/bootstrap/ldif/ + volumes: + - ./config-ldap.ldif:/container/service/slapd/assets/config/bootstrap/ldif/custom/config-ldap.ldif + ports: + - 389:389 + - 636:636