diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 0f13525eee..5aaf999dba 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -59,6 +59,7 @@ + @@ -66,7 +67,6 @@ - diff --git a/src/Core/Identity/YubicoOtpTokenProvider.cs b/src/Core/Identity/YubicoOtpTokenProvider.cs index 98156d6fab..286474e9c5 100644 --- a/src/Core/Identity/YubicoOtpTokenProvider.cs +++ b/src/Core/Identity/YubicoOtpTokenProvider.cs @@ -2,9 +2,7 @@ using Microsoft.AspNetCore.Identity; using Bit.Core.Models.Table; using Bit.Core.Enums; -#if NET461 using YubicoDotNetClient; -#endif using System.Linq; namespace Bit.Core.Identity @@ -37,16 +35,16 @@ namespace Bit.Core.Identity return Task.FromResult(null); } - public Task ValidateAsync(string purpose, string token, UserManager manager, User user) + public async Task ValidateAsync(string purpose, string token, UserManager manager, User user) { if(!user.Premium) { - return Task.FromResult(false); + return false; } if(string.IsNullOrWhiteSpace(token) || token.Length != 44) { - return Task.FromResult(false); + return false; } var id = token.Substring(0, 12); @@ -54,17 +52,12 @@ namespace Bit.Core.Identity var provider = user.GetTwoFactorProvider(TwoFactorProviderType.YubiKey); if(!provider.MetaData.ContainsValue(id)) { - return Task.FromResult(false); + return false; } - -#if NET461 var client = new YubicoClient(_globalSettings.Yubico.ClientId, _globalSettings.Yubico.Key); - var response = client.Verify(token); - return Task.FromResult(response.Status == YubicoResponseStatus.Ok); -#else - return Task.FromResult(false); -#endif + var response = await client.VerifyAsync(token); + return response.Status == YubicoResponseStatus.Ok; } } }