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;
}
}
}