1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 07:36:14 -05:00

[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
This commit is contained in:
Ike
2024-09-23 18:51:04 -04:00
committed by GitHub
parent 150c7808dc
commit 02fee8c1e9
13 changed files with 8317 additions and 0 deletions

View File

@ -0,0 +1,28 @@
-- Update User table
update
"User"
set
"TwoFactorProviders" = jsonb_set(
jsonb_set("TwoFactorProviders"::jsonb,
'{2,MetaData,ClientSecret}',
("TwoFactorProviders"::jsonb -> '2' -> 'MetaData' -> 'SKey')),
'{2,MetaData,ClientId}',
("TwoFactorProviders"::jsonb -> '2' -> 'MetaData' -> 'IKey'))
where
"TwoFactorProviders" like '%"2":%'
and jsonb_typeof("TwoFactorProviders"::jsonb) = 'object';
-- Update Organization table
update
"Organization"
set
"TwoFactorProviders" = jsonb_set(
jsonb_set("TwoFactorProviders"::jsonb,
'{6,MetaData,ClientSecret}',
("TwoFactorProviders"::jsonb -> '6' -> 'MetaData' -> 'SKey')),
'{6,MetaData,ClientId}',
("TwoFactorProviders"::jsonb -> '6' -> 'MetaData' -> 'IKey'))
where
"TwoFactorProviders" like '%"6":%'
and jsonb_typeof("TwoFactorProviders"::jsonb) = 'object';

View File

@ -0,0 +1,23 @@
using Bit.Core.Utilities;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.PostgresMigrations.Migrations;
public partial class GenerateDuoSDKVersion4TwoFactorMetadata : Migration
{
private const string _scriptLocation =
"PostgresMigrations.HelperScripts.2024-09-05_00_SyncDuoVersionFourMetadataToVersionTwo.psql";
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql(CoreHelpers.GetEmbeddedResourceContentsAsync(_scriptLocation));
}
protected override void Down(MigrationBuilder migrationBuilder)
{
// the changes here are additive and not destructive by adding the v4 data we are not impacting application function.
// there is no meaningful impact to the application with this migration.
}
}

View File

@ -26,5 +26,6 @@
<EmbeddedResource Include="HelperScripts\2022-03-01_00_Down_MigrateOrganizationApiKeys.psql" />
<EmbeddedResource Include="HelperScripts\2024-04-25_00_EnableOrgsCollectionEnhancements.psql" />
<EmbeddedResource Include="HelperScripts\2024-08-26_00_FinalFlexibleCollectionsDataMigrations.psql" />
<EmbeddedResource Include="HelperScripts\2024-09-05_00_SyncDuoVersionFourMetadataToVersionTwo.psql" />
</ItemGroup>
</Project>