hedgedoc/docs/content/references/config/auth/ldap.md
Erik Michelson 7f665fae4b
Some checks are pending
Docker / build-and-push (frontend) (push) Waiting to run
Docker / build-and-push (backend) (push) Waiting to run
Deploy HD2 docs to Netlify / Deploys to netlify (push) Waiting to run
E2E Tests / backend-sqlite (push) Waiting to run
E2E Tests / backend-mariadb (push) Waiting to run
E2E Tests / backend-postgres (push) Waiting to run
E2E Tests / Build test build of frontend (push) Waiting to run
E2E Tests / frontend-cypress (1) (push) Blocked by required conditions
E2E Tests / frontend-cypress (2) (push) Blocked by required conditions
E2E Tests / frontend-cypress (3) (push) Blocked by required conditions
Lint and check format / Lint files and check formatting (push) Waiting to run
REUSE Compliance Check / reuse (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Static Analysis / Njsscan code scanning (push) Waiting to run
Static Analysis / CodeQL analysis (push) Waiting to run
Run tests & build / Test and build with NodeJS 20 (push) Waiting to run
feat(auth): refactor auth, add oidc
Thanks to all HedgeDoc team members for the time discussing,
helping with weird Nest issues, providing feedback
and suggestions!

Co-authored-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-09-11 21:29:49 +02:00

3.8 KiB

LDAP

HedgeDoc can use one or multiple LDAP servers to authenticate users. To do this, you first need to tell HedgeDoc identifiers for the servers you want to use (HD_AUTH_LDAP_SERVERS). Then you need to provide the configuration for these LDAP servers depending on how you want to use them.

Each of these variables will contain the identifier for the LDAP server. For example, if you chose the identifier MYLDAP for your LDAP server, all variables for this server will start with HD_AUTH_LDAP_MYLDAP_.

Replace $NAME with the identifier of the LDAP server in the table below accordingly.

environment variable default example description
HD_AUTH_LDAP_SERVERS - MYLDAP A comma-seperated list of names of LDAP servers HedgeDoc should use.
HD_AUTH_LDAP_$NAME_PROVIDER_NAME LDAP My LDAP The display name for the LDAP server, that is shown in the UI of HegdeDoc.
HD_AUTH_LDAP_$NAME_URL - ldaps://ldap.example.com The url with which the LDAP server can be accessed.
HD_AUTH_LDAP_$NAME_SEARCH_BASE - ou=users,dc=LDAP,dc=example,dc=com The LDAP search base which contains the user accounts on the LDAP server.
HD_AUTH_LDAP_$NAME_SEARCH_FILTER (uid={{username}}) (&(uid={{username}})(objectClass=inetOrgPerson)) A LDAP search filter that filters the users that should have access.
HD_AUTH_LDAP_$NAME_SEARCH_ATTRIBUTES - username,cn A comma-seperated list of attributes that the search filter from the LDAP server should access.
HD_AUTH_LDAP_$NAME_USER_ID_FIELD uid uid, uidNumber, sAMAccountName The attribute of the user account which should be used as an id for the user.
HD_AUTH_LDAP_$NAME_DISPLAY_NAME_FIELD displayName displayName, name, cn The attribute of the user account which should be used as the display name for the user.
HD_AUTH_LDAP_$NAME_PROFILE_PICTURE_FIELD jpegPhoto jpegPhoto, thumbnailPhoto The attribute of the user account which should be used as the user image for the user.
HD_AUTH_LDAP_$NAME_BIND_DN - cn=admin,dc=LDAP,dc=example,dc=com The dn which is used to perform the user search. If this is omitted then HedgeDoc will use an anonymous bind.
HD_AUTH_LDAP_$NAME_BIND_CREDENTIALS - MyLdapPassword The credential to access the LDAP server.
HD_AUTH_LDAP_$NAME_TLS_CERT_PATHS - LDAP-ca.pem A comma-seperated list of paths to TLS certificates for the LDAP server.