1
0
Fork 0
mirror of https://github.com/dani-garcia/vaultwarden.git synced 2025-05-11 14:13:56 +00:00

Fix External ID not set during DC Sync

While working on the fix I realised 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
This commit is contained in:
BlackDex 2023-09-02 23:57:43 +02:00
parent ff8db4fd78
commit 18d66474e0
No known key found for this signature in database
GPG key ID: 58C80A2AA6C765E1
12 changed files with 75 additions and 40 deletions

View file

@ -0,0 +1,2 @@
ALTER TABLE users_organizations
ADD COLUMN external_id TEXT;