diff --git a/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs b/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs
index 7f27993ef..2845401bf 100644
--- a/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs
+++ b/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs
@@ -120,7 +120,7 @@ namespace Bit.App.Pages
if (await _policyService.PolicyAppliesToUser(PolicyType.MaximumVaultTimeout))
{
_vaultTimeoutPolicy = (await _policyService.GetAll(PolicyType.MaximumVaultTimeout)).First();
- var minutes = _policyService.GetPolicyInt(_vaultTimeoutPolicy, PolicyService.TIMEOUT_POLICY_MINUTES).GetValueOrDefault();
+ var minutes = _policyService.GetPolicyInt(_vaultTimeoutPolicy, "minutes").GetValueOrDefault();
_vaultTimeouts = _vaultTimeouts.Where(t =>
t.Value <= minutes &&
(t.Value > 0 || t.Value == CustomVaultTimeoutValue) &&
@@ -295,7 +295,7 @@ namespace Bit.App.Pages
if (_vaultTimeoutPolicy != null)
{
- var maximumTimeout = _policyService.GetPolicyInt(_vaultTimeoutPolicy, PolicyService.TIMEOUT_POLICY_MINUTES);
+ var maximumTimeout = _policyService.GetPolicyInt(_vaultTimeoutPolicy, "minutes");
if (newTimeout > maximumTimeout)
{
@@ -374,10 +374,6 @@ namespace Bit.App.Pages
public async Task VaultTimeoutActionAsync()
{
- if (!string.IsNullOrEmpty(_policyService.GetPolicyString(_vaultTimeoutPolicy, PolicyService.TIMEOUT_POLICY_ACTION)))
- {
- return;
- }
var options = _vaultTimeoutActions.Select(o =>
o.Key == _vaultTimeoutActionDisplayValue ? $"✓ {o.Key}" : o.Key).ToArray();
var selection = await Page.DisplayActionSheet(AppResources.VaultTimeoutAction,
@@ -601,38 +597,14 @@ namespace Bit.App.Pages
}
if (_vaultTimeoutPolicy != null)
{
- var maximumTimeout = _policyService.GetPolicyInt(_vaultTimeoutPolicy, PolicyService.TIMEOUT_POLICY_MINUTES).GetValueOrDefault();
- var timeoutAction = _policyService.GetPolicyString(_vaultTimeoutPolicy, PolicyService.TIMEOUT_POLICY_ACTION);
- if (maximumTimeout != default && timeoutAction != default)
+ var maximumTimeout = _policyService.GetPolicyInt(_vaultTimeoutPolicy, "minutes").GetValueOrDefault();
+ securityItems.Insert(0, new SettingsPageListItem
{
- securityItems.Insert(0, new SettingsPageListItem
- {
- Name = string.Format(AppResources.VaultTimeoutPolicyWithActionInEffect,
- Math.Floor((float)maximumTimeout / 60),
- maximumTimeout % 60,
- timeoutAction == PolicyService.TIMEOUT_POLICY_ACTION_LOCK ? AppResources.Lock : AppResources.LogOut),
- UseFrame = true,
- });
- }
- else if (maximumTimeout != default && timeoutAction == default)
- {
- securityItems.Insert(0, new SettingsPageListItem
- {
- Name = string.Format(AppResources.VaultTimeoutPolicyInEffect,
- Math.Floor((float)maximumTimeout / 60),
- maximumTimeout % 60),
- UseFrame = true,
- });
- }
- else if (maximumTimeout == default && timeoutAction != default)
- {
- securityItems.Insert(0, new SettingsPageListItem
- {
- Name = string.Format(AppResources.VaultTimeoutActionPolicyInEffect,
- timeoutAction == PolicyService.TIMEOUT_POLICY_ACTION_LOCK ? AppResources.Lock : AppResources.LogOut),
- UseFrame = true,
- });
- }
+ Name = string.Format(AppResources.VaultTimeoutPolicyInEffect,
+ Math.Floor((float)maximumTimeout / 60),
+ maximumTimeout % 60),
+ UseFrame = true,
+ });
}
if (Device.RuntimePlatform == Device.Android)
{
diff --git a/src/App/Resources/AppResources.Designer.cs b/src/App/Resources/AppResources.Designer.cs
index 243501dac..16763104f 100644
--- a/src/App/Resources/AppResources.Designer.cs
+++ b/src/App/Resources/AppResources.Designer.cs
@@ -6677,15 +6677,6 @@ namespace Bit.App.Resources {
}
}
- ///
- /// Looks up a localized string similar to Your organization policies have set your vault timeout action to {0}..
- ///
- public static string VaultTimeoutActionPolicyInEffect {
- get {
- return ResourceManager.GetString("VaultTimeoutActionPolicyInEffect", resourceCulture);
- }
- }
-
///
/// Looks up a localized string similar to Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?.
///
@@ -6696,7 +6687,7 @@ namespace Bit.App.Resources {
}
///
- /// Looks up a localized string similar to Your organization policies have set your maximum allowed vault timeout to {0} hour(s) and {1} minute(s)..
+ /// Looks up a localized string similar to Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is {0} hour(s) and {1} minute(s).
///
public static string VaultTimeoutPolicyInEffect {
get {
@@ -6704,15 +6695,6 @@ namespace Bit.App.Resources {
}
}
- ///
- /// Looks up a localized string similar to Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is {0} hour(s) and {1} minute(s). Your vault timeout action is set to {2}..
- ///
- public static string VaultTimeoutPolicyWithActionInEffect {
- get {
- return ResourceManager.GetString("VaultTimeoutPolicyWithActionInEffect", resourceCulture);
- }
- }
-
///
/// Looks up a localized string similar to Your vault timeout exceeds the restrictions set by your organization..
///
diff --git a/src/App/Resources/AppResources.resx b/src/App/Resources/AppResources.resx
index d7b15ae3f..61742c5f6 100644
--- a/src/App/Resources/AppResources.resx
+++ b/src/App/Resources/AppResources.resx
@@ -2141,13 +2141,7 @@ Scanning will happen automatically.
This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.
- Your organization policies have set your maximum allowed vault timeout to {0} hour(s) and {1} minute(s).
-
-
- Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is {0} hour(s) and {1} minute(s). Your vault timeout action is set to {2}.
-
-
- Your organization policies have set your vault timeout action to {0}.
+ Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is {0} hour(s) and {1} minute(s)
Your vault timeout exceeds the restrictions set by your organization.
diff --git a/src/Core/Abstractions/IPolicyService.cs b/src/Core/Abstractions/IPolicyService.cs
index 8acca2c9a..caabeca3d 100644
--- a/src/Core/Abstractions/IPolicyService.cs
+++ b/src/Core/Abstractions/IPolicyService.cs
@@ -20,7 +20,6 @@ namespace Bit.Core.Abstractions
string orgId);
Task PolicyAppliesToUser(PolicyType policyType, Func policyFilter = null, string userId = null);
int? GetPolicyInt(Policy policy, string key);
- string GetPolicyString(Policy policy, string key);
Task ShouldShowVaultFilterAsync();
}
}
diff --git a/src/Core/Services/PolicyService.cs b/src/Core/Services/PolicyService.cs
index 448cd1112..c7b374643 100644
--- a/src/Core/Services/PolicyService.cs
+++ b/src/Core/Services/PolicyService.cs
@@ -17,11 +17,6 @@ namespace Bit.Core.Services
private IEnumerable _policyCache;
- public const string TIMEOUT_POLICY_MINUTES = "minutes";
- public const string TIMEOUT_POLICY_ACTION = "action";
- public const string TIMEOUT_POLICY_ACTION_LOCK = "lock";
- public const string TIMEOUT_POLICY_ACTION_LOGOUT = "logOut";
-
public PolicyService(
IStateService stateService,
IOrganizationService organizationService)
@@ -252,10 +247,6 @@ namespace Bit.Core.Services
return null;
}
- public string GetPolicyString(Policy policy, string key) =>
- policy.Data.TryGetValue(key, out var val) ? val as string : null;
-
-
public async Task ShouldShowVaultFilterAsync()
{
var personalOwnershipPolicyApplies = await PolicyAppliesToUser(PolicyType.PersonalOwnership);
@@ -281,6 +272,17 @@ namespace Bit.Core.Services
return null;
}
-
+ private string GetPolicyString(Policy policy, string key)
+ {
+ if (policy.Data.ContainsKey(key))
+ {
+ var value = policy.Data[key];
+ if (value != null)
+ {
+ return (string)value;
+ }
+ }
+ return null;
+ }
}
}
diff --git a/src/Core/Services/VaultTimeoutService.cs b/src/Core/Services/VaultTimeoutService.cs
index 2cef20fc4..43adc7866 100644
--- a/src/Core/Services/VaultTimeoutService.cs
+++ b/src/Core/Services/VaultTimeoutService.cs
@@ -247,7 +247,7 @@ namespace Bit.Core.Services
{
var policy = (await _policyService.GetAll(PolicyType.MaximumVaultTimeout, userId)).First();
// Remove negative values, and ensure it's smaller than maximum allowed value according to policy
- var policyTimeout = _policyService.GetPolicyInt(policy, PolicyService.TIMEOUT_POLICY_MINUTES);
+ var policyTimeout = _policyService.GetPolicyInt(policy, "minutes");
if (!policyTimeout.HasValue)
{
return vaultTimeout;