mirror of
https://github.com/bitwarden/server
synced 2026-01-02 16:43:25 +00:00
fix(base-request-validator) [PM-21153] Recovery Code Not Functioning for SSO-required Users (#6481)
* chore(feature-flag-keys) [PM-21153]: Add feature flag key for BaseRequestValidator changes. * fix(base-request-validator) [PM-21153]: Add validation state model for composable validation scenarios. * fix(base-request-validator) [PM-21153]: Update BaseRequestValidator to allow validation scenarios to be composable. * fix(base-request-validator) [PM-21153]: Remove validation state object in favor of validator context, per team discussion. * feat(base-request-validator) [PM-21153]: Update tests to use issue feature flag, both execution paths. * fix(base-request-validator) [PM-21153]: Fix a null dictionary check. * chore(base-request-validator) [PM-21153]: Add unit tests around behavior addressed in this feature. * chore(base-request-validator) [PM-21153]: Update comments for clarity. * chore(base-request-validator-tests) [PM-21153]: Update verbiage for tests. * fix(base-request-validator) [PM-21153]: Update validators to no longer need completed scheme management, use 2FA flag for recovery scenarios. * fix(base-request-validator-tests) [PM-21153]: Customize CustomValidatorRequestContext fixture to allow for setting of request-specific flags as part of the request validation (not eagerly truthy).
This commit is contained in:
@@ -27,6 +27,12 @@ public class CustomValidatorRequestContext
|
||||
/// </summary>
|
||||
public bool TwoFactorRequired { get; set; } = false;
|
||||
/// <summary>
|
||||
/// Whether the user has requested recovery of their 2FA methods using their one-time
|
||||
/// recovery code.
|
||||
/// </summary>
|
||||
/// <seealso cref="Bit.Core.Auth.Enums.TwoFactorProviderType"/>
|
||||
public bool TwoFactorRecoveryRequested { get; set; } = false;
|
||||
/// <summary>
|
||||
/// This communicates whether or not SSO is required for the user to authenticate.
|
||||
/// </summary>
|
||||
public bool SsoRequired { get; set; } = false;
|
||||
@@ -42,10 +48,13 @@ public class CustomValidatorRequestContext
|
||||
/// This will be null if the authentication request is successful.
|
||||
/// </summary>
|
||||
public Dictionary<string, object> CustomResponse { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A validated auth request
|
||||
/// <see cref="AuthRequest.IsValidForAuthentication"/>
|
||||
/// </summary>
|
||||
public AuthRequest ValidatedAuthRequest { get; set; }
|
||||
/// <summary>
|
||||
/// Whether the user has requested a Remember Me token for their current device.
|
||||
/// </summary>
|
||||
public bool RememberMeRequested { get; set; } = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user