1
0
mirror of https://github.com/bitwarden/server.git synced 2024-11-24 12:35:25 +01:00
bitwarden-server/util/MySqlMigrations/HelperScripts/2024-09-05_00_SyncDuoVersionFourMetadataToVersionTwo.sql
Ike 02fee8c1e9
[PM-8108] Add Duo SDK v4 metadata to Duo Two Factor Provider (#4774)
* Migrate Duo Two Factor Configuration to support both v2 and v4

* Postgres Migrations

* SQLite migrations

* comment updates for SQLite; Query changes for consistency;

* comment clean up; formatting
2024-09-23 15:51:04 -07:00

30 lines
829 B
SQL

/* Update User Table */
UPDATE
`User` U
SET
U.TwoFactorProviders = JSON_SET(
JSON_SET(
U.TwoFactorProviders, '$."2".MetaData.ClientSecret',
JSON_UNQUOTE(U.TwoFactorProviders ->'$."2".MetaData.SKey')),
'$."2".MetaData.ClientId',
JSON_UNQUOTE(U.TwoFactorProviders -> '$."2".MetaData.IKey'))
WHERE
JSON_CONTAINS(TwoFactorProviders,
'{"2":{}}')
AND JSON_VALID(TwoFactorProviders);
/* Update Organization Table */
UPDATE
Organization o
SET
o.TwoFactorProviders = JSON_SET(
JSON_SET(
o.TwoFactorProviders, '$."6".MetaData.ClientSecret',
JSON_UNQUOTE(o.TwoFactorProviders ->'$."6".MetaData.SKey')),
'$."6".MetaData.ClientId',
JSON_UNQUOTE(o.TwoFactorProviders -> '$."6".MetaData.IKey'))
WHERE
JSON_CONTAINS(o.TwoFactorProviders,
'{"6":{}}')
AND JSON_VALID(o.TwoFactorProviders);