1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-01 08:02:49 -05:00

premium checks on 2fa providers

This commit is contained in:
Kyle Spearrin
2017-07-06 16:56:12 -04:00
parent 99c1d68f5a
commit 295d6510a9
7 changed files with 79 additions and 5 deletions

View File

@ -122,7 +122,7 @@ namespace Bit.Core.IdentityServer
{
var providerKeys = new List<byte>();
var providers = new Dictionary<byte, Dictionary<string, object>>();
var enabledProviders = user.GetTwoFactorProviders()?.Where(p => p.Value.Enabled);
var enabledProviders = user.GetTwoFactorProviders()?.Where(p => user.TwoFactorProviderIsEnabled(p.Key));
if(enabledProviders == null)
{
BuildErrorResult(false, context);
@ -192,6 +192,11 @@ namespace Bit.Core.IdentityServer
private async Task<bool> VerifyTwoFactor(User user, TwoFactorProviderType type, string token)
{
if(!user.TwoFactorProviderIsEnabled(type))
{
return false;
}
switch(type)
{
case TwoFactorProviderType.Authenticator:
@ -210,6 +215,11 @@ namespace Bit.Core.IdentityServer
private async Task<Dictionary<string, object>> BuildTwoFactorParams(User user, TwoFactorProviderType type,
TwoFactorProvider provider)
{
if(!user.TwoFactorProviderIsEnabled(type))
{
return null;
}
switch(type)
{
case TwoFactorProviderType.Duo: