/// <summary> /// Verifies the assertion response from the browser/authr to assert existing credentials and authenticate a user. (MakeAssertionAsync) /// </summary> /// <returns></returns> public Task <AssertionVerificationResult> SetAssertionResult(AuthenticatorAssertionRawResponse assertionResponse, AssertionOptions originalOptions, byte[] storedPublicKey, uint storedSignatureCounter, IsUserHandleOwnerOfCredentialIdAsync isUserHandleOwnerOfCredentialIdCallback, byte[] requestTokenBindingId = null) { var parsedResponse = AuthenticatorAssertionResponse.Parse(assertionResponse); var result = parsedResponse.VerifyAsync(originalOptions, _config.Origin, storedPublicKey, storedSignatureCounter, isUserHandleOwnerOfCredentialIdCallback, requestTokenBindingId); return(result); }
internal static AuthenticatorAssertionResponse Parse(AuthenticatorAssertionRawResponse rawResponse) { var response = new AuthenticatorAssertionResponse(rawResponse.Response.ClientDataJson) { // we will need to access raw in Verify() Raw = rawResponse, AuthenticatorData = rawResponse.Response.AuthenticatorData, Signature = rawResponse.Response.Signature, UserHandle = rawResponse.Response.UserHandle }; return(response); }