Load the theta42 (dateOfBirth) schema in the all-in-one image
The app (nodejs/models/user_ldap.js) adds objectClass theta42Person whenever a user has a dateOfBirth, and lists it among every new user's objectClasses. But the all-in-one image's static slapd.conf only included core/cosine/inetorgperson/ nis — never the project's own theta42 schema — so slapd rejects objectClass: theta42Person with LDAP 0x15 (objectClass: value #0 invalid per syntax). Symptom: PUT /api/user/<uid> (and user creation) failing. ops/ldap-setup.sh loads this schema for bare-metal (as a cn=config LDIF); the Docker image uses slapd.conf, so ship it as a .schema file and include it. - ops/schema/theta42.schema: dateOfBirth attribute + theta42Person auxiliary objectClass (same OIDs/definition as ldap-setup.sh section 5). - Dockerfile.openldap: COPY it to /etc/openldap/schema/theta42.schema. - docker-entrypoint.sh: include it in the generated slapd.conf (after nis). Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,7 @@ include /etc/openldap/schema/core.schema
|
||||
include /etc/openldap/schema/cosine.schema
|
||||
include /etc/openldap/schema/inetorgperson.schema
|
||||
include /etc/openldap/schema/nis.schema
|
||||
include /etc/openldap/schema/theta42.schema
|
||||
|
||||
# Module loading (pw-sha2 provides {SSHA512} used by the app for user passwords;
|
||||
# ppolicy/memberof/refint are the overlays the app depends on). On OpenLDAP 2.5+
|
||||
|
||||
Reference in New Issue
Block a user