From 8c3a1af46b484210633c635fc98a2b4889f0a25e Mon Sep 17 00:00:00 2001 From: Shane Melton Date: Tue, 7 Mar 2023 13:12:20 -0800 Subject: [PATCH] [AC-1070] Add MasterPasswordPolicy property to Identity responses --- src/Core/Models/Response/IdentityTokenResponse.cs | 5 ++++- src/Core/Models/Response/IdentityTwoFactorResponse.cs | 2 ++ src/Core/Services/PolicyService.cs | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Core/Models/Response/IdentityTokenResponse.cs b/src/Core/Models/Response/IdentityTokenResponse.cs index eac480f42..55d49bd24 100644 --- a/src/Core/Models/Response/IdentityTokenResponse.cs +++ b/src/Core/Models/Response/IdentityTokenResponse.cs @@ -1,4 +1,6 @@ -using Bit.Core.Enums; +using System.Collections.Generic; +using Bit.Core.Enums; +using Bit.Core.Models.Domain; using Newtonsoft.Json; namespace Bit.Core.Models.Response @@ -24,6 +26,7 @@ namespace Bit.Core.Models.Response public int? KdfParallelism { get; set; } public bool ForcePasswordReset { get; set; } public string KeyConnectorUrl { get; set; } + public MasterPasswordPolicyOptions MasterPasswordPolicy { get; set; } [JsonIgnore] public KdfConfig KdfConfig => new KdfConfig(Kdf, KdfIterations, KdfMemory, KdfParallelism); } diff --git a/src/Core/Models/Response/IdentityTwoFactorResponse.cs b/src/Core/Models/Response/IdentityTwoFactorResponse.cs index 928bd4303..3607a3230 100644 --- a/src/Core/Models/Response/IdentityTwoFactorResponse.cs +++ b/src/Core/Models/Response/IdentityTwoFactorResponse.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Bit.Core.Enums; +using Bit.Core.Models.Domain; using Newtonsoft.Json; namespace Bit.Core.Models.Response @@ -8,6 +9,7 @@ namespace Bit.Core.Models.Response { public List TwoFactorProviders { get; set; } public Dictionary> TwoFactorProviders2 { get; set; } + public MasterPasswordPolicyOptions MasterPasswordPolicy { get; set; } [JsonProperty("CaptchaBypassToken")] public string CaptchaToken { get; set; } } diff --git a/src/Core/Services/PolicyService.cs b/src/Core/Services/PolicyService.cs index c7b374643..5dc0ab21a 100644 --- a/src/Core/Services/PolicyService.cs +++ b/src/Core/Services/PolicyService.cs @@ -130,6 +130,12 @@ namespace Bit.Core.Services { enforcedOptions.RequireSpecial = true; } + + var enforceOnLogin = GetPolicyBool(currentPolicy, "enforceOnLogin"); + if (enforceOnLogin != null && (bool)enforceOnLogin) + { + enforcedOptions.EnforceOnLogin = true; + } } return enforcedOptions;