Fix External ID not set during DC Sync #1485

Closed
opened 2026-04-06 01:57:24 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @BlackDex on 8/27/2023

While working on the fix for #3777 I realized the location where the external_id
is stored was wrong. It was stored in the users table, but it actually
should have been stored in the users_organizations table.

This will move the column to the right table. It will not move the
values of the external_id column, because if there are more
organizations, there is no way to really know which organization it is
linked to. Setups using the Directory Connector can clear the sync
cache, and sync again, that will store all the external_id values at
the right location.

Also changed the function to revoke,restore an org-user and set_external_id to return a boolean.
It will state if the value has been changed or not, and if not, we can
prevent a save call to the database.

The users table is not changed to remove the external_id column, thi
to prevent issue when users want to revert back to an earlier version
for some reason. We can do this after a few minor release i think.

Fixes #3777

*Originally created by @BlackDex on 8/27/2023* While working on the fix for #3777 I realized the location where the `external_id` is stored was wrong. It was stored in the `users` table, but it actually should have been stored in the `users_organizations` table. This will move the column to the right table. It will not move the values of the `external_id` column, because if there are more organizations, there is no way to really know which organization it is linked to. Setups using the Directory Connector can clear the sync cache, and sync again, that will store all the `external_id` values at the right location. Also changed the function to revoke,restore an org-user and set_external_id to return a boolean. It will state if the value has been changed or not, and if not, we can prevent a `save` call to the database. The `users` table is not changed to remove the `external_id` column, thi to prevent issue when users want to revert back to an earlier version for some reason. We can do this after a few minor release i think. Fixes #3777
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/vaultwarden#1485