1
0
mirror of https://github.com/bitwarden/server synced 2026-02-28 10:23:24 +00:00

[PM-31052][PM-32469] Add V2UpgradeToken for key rotation without logout (#6995)

* User V2UpgradeToken for key rotation without logout

* reset old v2 upgrade token on manual key rotation

* sql migration fix

* missing table column

* missing view update

* tests for V2UpgradeToken clearing on manual key rotation

* V2 to V2 rotation causes logout. Updated wrapped key 1 to be a valid V2 encrypted string in tests.

* integration tests failures - increase assert recent for date time type from 2 to 5 seconds (usually for UpdatedAt assertions)

* repository test coverage

* migration script update

* new EF migration scripts

* broken EF migration scripts fixed

* refresh views due to User table alternation
This commit is contained in:
Maciej Zieniuk
2026-02-20 20:19:14 +01:00
committed by GitHub
parent a961626957
commit 6a7b8f5a89
35 changed files with 12395 additions and 242 deletions

View File

@@ -44,7 +44,8 @@
@VerifyDevices BIT = 1,
@SecurityState VARCHAR(MAX) = NULL,
@SecurityVersion INT = NULL,
@SignedPublicKey VARCHAR(MAX) = NULL
@SignedPublicKey VARCHAR(MAX) = NULL,
@V2UpgradeToken VARCHAR(MAX) = NULL
AS
BEGIN
SET NOCOUNT ON
@@ -97,7 +98,8 @@ BEGIN
[SecurityState],
[SecurityVersion],
[SignedPublicKey],
[MaxStorageGbIncreased]
[MaxStorageGbIncreased],
[V2UpgradeToken]
)
VALUES
(
@@ -147,6 +149,7 @@ BEGIN
@SecurityState,
@SecurityVersion,
@SignedPublicKey,
@MaxStorageGb
@MaxStorageGb,
@V2UpgradeToken
)
END

View File

@@ -44,7 +44,8 @@
@VerifyDevices BIT = 1,
@SecurityState VARCHAR(MAX) = NULL,
@SecurityVersion INT = NULL,
@SignedPublicKey VARCHAR(MAX) = NULL
@SignedPublicKey VARCHAR(MAX) = NULL,
@V2UpgradeToken VARCHAR(MAX) = NULL
AS
BEGIN
SET NOCOUNT ON
@@ -97,7 +98,8 @@ BEGIN
[SecurityState] = @SecurityState,
[SecurityVersion] = @SecurityVersion,
[SignedPublicKey] = @SignedPublicKey,
[MaxStorageGbIncreased] = @MaxStorageGb
[MaxStorageGbIncreased] = @MaxStorageGb,
[V2UpgradeToken] = @V2UpgradeToken
WHERE
[Id] = @Id
END

View File

@@ -42,10 +42,11 @@
[LastKeyRotationDate] DATETIME2 (7) NULL,
[LastEmailChangeDate] DATETIME2 (7) NULL,
[VerifyDevices] BIT DEFAULT ((1)) NOT NULL,
[SecurityState] VARCHAR (MAX) NULL,
[SecurityState] VARCHAR (MAX) NULL,
[SecurityVersion] INT NULL,
[SignedPublicKey] VARCHAR (MAX) NULL,
[SignedPublicKey] VARCHAR (MAX) NULL,
[MaxStorageGbIncreased] SMALLINT NULL,
[V2UpgradeToken] VARCHAR(MAX) NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([Id] ASC)
);

View File

@@ -46,6 +46,7 @@ SELECT
[VerifyDevices],
[SecurityState],
[SecurityVersion],
[SignedPublicKey]
[SignedPublicKey],
[V2UpgradeToken]
FROM
[dbo].[User]