diff --git a/src/AdminConsole/AdminConsole.csproj b/src/AdminConsole/AdminConsole.csproj
index d388c00d1..147901d31 100644
--- a/src/AdminConsole/AdminConsole.csproj
+++ b/src/AdminConsole/AdminConsole.csproj
@@ -5,24 +5,24 @@
-
-
+
+
-
+
-
-
-
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/Api/Api.csproj b/src/Api/Api.csproj
index b819e1b50..45cc3a751 100644
--- a/src/Api/Api.csproj
+++ b/src/Api/Api.csproj
@@ -13,12 +13,12 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj
index 529405bbd..c05243776 100644
--- a/src/Common/Common.csproj
+++ b/src/Common/Common.csproj
@@ -5,19 +5,19 @@
-
-
+
+
-
-
-
+
+
+
-
+
-
+
diff --git a/src/Service/Fido2Service.cs b/src/Service/Fido2Service.cs
index b2b57841c..bd9710ad7 100644
--- a/src/Service/Fido2Service.cs
+++ b/src/Service/Fido2Service.cs
@@ -1,5 +1,4 @@
-using System.Buffers.Text;
-using System.Collections.Immutable;
+using System.Collections.Immutable;
using System.Diagnostics;
using System.Security.Cryptography;
using System.Text;
@@ -146,9 +145,9 @@ public async Task> RegisterBeginAsync(F
var requestNewCredentialParameters = new RequestNewCredentialParams
{
User = user,
+ ExcludeCredentials = keyIds,
AttestationPreference = attestation,
AuthenticatorSelection = authenticatorSelection,
- ExcludeCredentials = keyIds,
Extensions = new AuthenticationExtensionsClientInputs
{
CredProps = true
@@ -383,10 +382,10 @@ public async Task SignInCompleteAsync(SignInCompleteDTO request,
var authenticationSessionConfiguration = await _tokenService.DecodeTokenAsync(request.Session, "session_", true);
// Get registered credential from database
- var credential = await _storage.GetCredential(request.Response.Id);
+ var credential = await _storage.GetCredential(request.Response.RawId);
if (credential == null)
{
- throw new UnknownCredentialException(Base64Url.EncodeToString(request.Response.Id));
+ throw new UnknownCredentialException(request.Response.Id);
}
// Create callback to check if userhandle owns the credentialId
diff --git a/src/Service/Service.csproj b/src/Service/Service.csproj
index b904d685e..671a22926 100644
--- a/src/Service/Service.csproj
+++ b/src/Service/Service.csproj
@@ -1,27 +1,27 @@
-
-
-
+
+
+
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
-
-
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
-
-
-
-
+
+
+
+
+
diff --git a/tests/AdminConsole.Tests/AdminConsole.Tests.csproj b/tests/AdminConsole.Tests/AdminConsole.Tests.csproj
index a30806275..732aff905 100644
--- a/tests/AdminConsole.Tests/AdminConsole.Tests.csproj
+++ b/tests/AdminConsole.Tests/AdminConsole.Tests.csproj
@@ -2,12 +2,12 @@
-
-
-
+
+
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
diff --git a/tests/Api.IntegrationTests/Api.IntegrationTests.csproj b/tests/Api.IntegrationTests/Api.IntegrationTests.csproj
index 1b2ef10ff..b40d22463 100644
--- a/tests/Api.IntegrationTests/Api.IntegrationTests.csproj
+++ b/tests/Api.IntegrationTests/Api.IntegrationTests.csproj
@@ -1,16 +1,16 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
diff --git a/tests/Api.IntegrationTests/Helpers/BrowserCredentialsHelper.cs b/tests/Api.IntegrationTests/Helpers/BrowserCredentialsHelper.cs
index 7c5e12cd0..b76ce632a 100644
--- a/tests/Api.IntegrationTests/Helpers/BrowserCredentialsHelper.cs
+++ b/tests/Api.IntegrationTests/Helpers/BrowserCredentialsHelper.cs
@@ -14,7 +14,7 @@ public static class BrowserCredentialsHelper
private static Task ReadCreateCredentialFileAsync() => File.ReadAllTextAsync(CreateCredentialsFile);
private static Task ReadGetCredentialFileAsync() => File.ReadAllTextAsync(GetCredentialFile);
- private async static Task GetCreateCredentialFunctions()
+ private static async Task GetCreateCredentialFunctions()
{
var tasks = new[] { ReadConvertersFileAsync(), ReadCreateCredentialFileAsync() };
await Task.WhenAll(tasks);
@@ -23,19 +23,19 @@ private async static Task GetCreateCredentialFunctions()
return result;
}
- public async static Task CreateCredentialsAsync(CredentialCreateOptions options, string originUrl)
+ public static async Task CreateCredentialsAsync(CredentialCreateOptions options, string originUrl)
{
using var driver = WebDriverFactory.GetDriver(originUrl);
return await driver.CreateCredentialsAsync(options);
}
- public async static Task CreateCredentialsAsync(this IJavaScriptExecutor webDriver, CredentialCreateOptions options) =>
+ public static async Task CreateCredentialsAsync(this IJavaScriptExecutor webDriver, CredentialCreateOptions options) =>
JsonSerializer.Deserialize(
- (webDriver.ExecuteScript($"{await GetCreateCredentialFunctions()} return await createCredential({options.ToJson()});").ToString()
- ?? string.Empty))!;
+ webDriver.ExecuteScript($"{await GetCreateCredentialFunctions()} return await createCredential({options.ToJson()});").ToString()
+ ?? string.Empty)!;
- private async static Task GetGetCredentialFunctions()
+ private static async Task GetGetCredentialFunctions()
{
var tasks = new[] { ReadConvertersFileAsync(), ReadGetCredentialFileAsync() };
await Task.WhenAll(tasks);
@@ -43,8 +43,8 @@ private async static Task GetGetCredentialFunctions()
return tasks.Aggregate(string.Empty, (functions, task) => string.Concat(functions, task.Result));
}
- public async static Task GetCredentialsAsync(this IJavaScriptExecutor webDriver, AssertionOptions options) =>
+ public static async Task GetCredentialsAsync(this IJavaScriptExecutor webDriver, AssertionOptions options) =>
JsonSerializer.Deserialize(
- (webDriver.ExecuteScript($"{await GetGetCredentialFunctions()} return await getCredential({options.ToJson()});").ToString()
- ?? string.Empty))!;
+ webDriver.ExecuteScript($"{await GetGetCredentialFunctions()} return await getCredential({options.ToJson()});")?.ToString()
+ ?? string.Empty)!;
}
\ No newline at end of file
diff --git a/tests/Api.IntegrationTests/Helpers/Js/createCredential.js b/tests/Api.IntegrationTests/Helpers/Js/createCredential.js
index 7bc33d087..ef202cb2d 100644
--- a/tests/Api.IntegrationTests/Helpers/Js/createCredential.js
+++ b/tests/Api.IntegrationTests/Helpers/Js/createCredential.js
@@ -1,24 +1,25 @@
-async function createCredential(credentialCreateOptions) {
- credentialCreateOptions.challenge = base64UrlToArrayBuffer(credentialCreateOptions.challenge);
- credentialCreateOptions.user.id = base64UrlToArrayBuffer(credentialCreateOptions.user.id);
- credentialCreateOptions.excludeCredentials?.forEach((cred) => {
- cred.id = base64UrlToArrayBuffer(cred.id);
- });
-
- const credential = await navigator.credentials.create({
- publicKey: credentialCreateOptions,
- });
-
- const attestationResponse = credential.response;
-
- return JSON.stringify({
- id: credential.id,
- rawId: arrayBufferToBase64Url(credential.rawId),
- type: credential.type,
- extensions: credential.getClientExtensionResults(),
- response: {
- attestationObject: arrayBufferToBase64Url(attestationResponse.attestationObject),
- clientDataJSON: arrayBufferToBase64Url(attestationResponse.clientDataJSON),
- }
- });
-}
+async function createCredential(credentialCreateOptions) {
+ credentialCreateOptions.challenge = base64UrlToArrayBuffer(credentialCreateOptions.challenge);
+ credentialCreateOptions.user.id = base64UrlToArrayBuffer(credentialCreateOptions.user.id);
+ credentialCreateOptions.excludeCredentials?.forEach((cred) => {
+ cred.id = base64UrlToArrayBuffer(cred.id);
+ });
+
+ const credential = await navigator.credentials.create({
+ publicKey: credentialCreateOptions,
+ });
+
+ const attestationResponse = credential.response;
+
+ return JSON.stringify({
+ id: credential.id,
+ rawId: arrayBufferToBase64Url(credential.rawId),
+ type: credential.type,
+ extensions: credential.getClientExtensionResults(),
+ response: {
+ attestationObject: arrayBufferToBase64Url(attestationResponse.attestationObject),
+ clientDataJSON: arrayBufferToBase64Url(attestationResponse.clientDataJSON),
+ transports: attestationResponse.getTransports ? attestationResponse.getTransports() : [],
+ }
+ });
+}
diff --git a/tests/Api.Tests/Api.Tests.csproj b/tests/Api.Tests/Api.Tests.csproj
index 1bc6b3565..66d6cced4 100644
--- a/tests/Api.Tests/Api.Tests.csproj
+++ b/tests/Api.Tests/Api.Tests.csproj
@@ -2,11 +2,11 @@
-
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
diff --git a/tests/Common.Tests/Common.Tests.csproj b/tests/Common.Tests/Common.Tests.csproj
index 04cd43c8f..3285e9859 100644
--- a/tests/Common.Tests/Common.Tests.csproj
+++ b/tests/Common.Tests/Common.Tests.csproj
@@ -3,10 +3,10 @@
-
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
diff --git a/tests/Service.Tests/Service.Tests.csproj b/tests/Service.Tests/Service.Tests.csproj
index 30ceeffd6..778e84785 100644
--- a/tests/Service.Tests/Service.Tests.csproj
+++ b/tests/Service.Tests/Service.Tests.csproj
@@ -3,11 +3,11 @@
-
-
+
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all