zulip/docs/production
Mateusz Mandera 7788ce98e9 ldap: Support ExternalAuthID in the sync_ldap_user_data system.
Closes #35196.

In #34850 we implemented this for the ldap authentication codepath.
This PR makes it support also during the sync_ldap_user_data job.

What this means practically is that if this functionality is enabled and
correctly configured, sync_ldap_user_data is able to find the associated
user in the ldap directory even if the email value in the directory has
changed. The UserProfile's delivery_email will be updated to sync this
change, in addition to the regular syncing for other attributes.
Email changes used to break the association between UserProfile and the
ldap user entry.

The primary challenge making this implementation fairly complex is the
fact that django-auth-ldap is designed with authentication in mind, so
it doesn't make arbitrary LDAP searches easy - and the regular direction
is:
user ldap credentials -> LDAP user data -> Django user object.

However, the sync job searches in the opposite direction. We begin with
a Django UserProfile - we need to find the ExternalAuthID entry (if it
exists), and then based on the configuration of this feature, do an
appropriate LDAP search to find the LDAP user entry with the matching
value in the attribute configured as the `unique_account_id`.
2026-04-27 13:50:27 -07:00
..
ai-integrations.md docs: Document AI integrations. 2025-03-20 11:51:00 -07:00
authentication-methods.md ldap: Support ExternalAuthID in the sync_ldap_user_data system. 2026-04-27 13:50:27 -07:00
deployment.md docs: Fix zulip.conf filename. 2026-02-18 12:36:58 -08:00
email-gateway.md integrations: Change URL scheme for categories and /doc/ page. 2025-11-07 13:29:34 -08:00
email.md docs: Note the INSTALLATION_NAME setting in configure outgoing email. 2026-02-24 16:48:22 -08:00
export-and-import.md docs: Document wal-g restore process. 2025-10-14 15:07:33 -07:00
gif-picker-integrations.md gifs: Introduce KLIPY as a GIF provider. 2026-04-11 22:51:27 -05:00
index.md gifs: Rename "GIPHY GIF integration" to "GIF picker integrations". 2025-12-02 09:35:16 -08:00
install-existing-server.md install: Remove PostgreSQL 12 support. 2024-11-01 15:33:31 -07:00
install.md docs: Replace Twitter (X) references with Bluesky. 2026-04-27 08:15:11 -07:00
maintain-secure-upgrade.md docs: Rename "security-model.md" to "securing-your-zulip-server.md". 2025-09-30 11:41:06 -07:00
management-commands.md docs: Add incoming webhooks integrations section. 2026-01-06 10:11:58 -08:00
mobile-push-notifications.md docs: Explain security/data access model for E2EE push notifications. 2026-04-22 23:26:31 -07:00
modify.md docs: Better inter-link with Docker docs. 2026-02-12 09:07:20 -08:00
multiple-organizations.md docs: Add comma to all uses of "e.g." in contributor docs. 2024-07-05 15:36:24 -07:00
password-strength.md docs: Revamp production doc on security. 2025-09-17 13:28:02 -07:00
postgresql-support-table.md install: Support PostgreSQL 18. 2025-12-10 21:37:07 -08:00
postgresql.md docs: Clarify how to use a remote server with custom db/usernames. 2025-12-16 13:03:27 -08:00
requirements.md install: Support Ubuntu 26.04. 2026-04-22 22:00:04 -07:00
reverse-proxies.md nginx: Add an option which defaults loadbalancer requests to https. 2025-01-22 12:25:42 -08:00
scim.md scim: Add support for syncing custom profile fields. 2026-03-25 12:21:08 -07:00
securing-your-zulip-server.md video_calls: Add Nextcloud Talk as a video call provider. 2026-02-16 20:11:36 -08:00
settings.md docs: Describe how to configure navigation tour video. 2025-03-18 16:36:25 -07:00
ssl-certificates.md docs: Convert .html#fragment links to .md#fragment. 2022-02-28 16:28:31 -08:00
system-configuration.md docs: Better inter-link with Docker docs. 2026-02-12 09:07:20 -08:00
troubleshooting.md puppet: Exclude pgroonga from unattended-upgrades. 2025-03-24 11:42:50 -07:00
upgrade.md docs: Better inter-link with Docker docs. 2026-02-12 09:07:20 -08:00
upload-backends.md docs: Rename "security-model.md" to "securing-your-zulip-server.md". 2025-09-30 11:41:06 -07:00
video-calls.md video_calls: Fix an error name and a typo in the docs. 2026-04-23 17:14:36 -07:00