private void AuthenticateToServer(Fido2AuthenticationResponse fido2AuthenticationResponse) { string Tag = "AuthenticateToServer"; if (!fido2AuthenticationResponse.IsSuccess) { log.Error(Tag, GetString(Resource.String.authn_fail), fido2AuthenticationResponse); return; } IFidoServer fidoServer = new FidoServerSimulator(); if (fidoServer == null) { log.Error(Tag, GetString(Resource.String.connect_server_err)); return; } ServerAssertionResultRequest request = ServerUtils.ConvertToServerAssertionResultRequest(fido2AuthenticationResponse.AuthenticatorAssertionResponse); ServerResponse response = fidoServer.GetAssertionResult(request); if (!ServerStatus.Ok.Equals(response.GetStatus())) { log.Error(Tag, GetString(Resource.String.authn_fail) + response.GetErrorMessage()); return; } Log.Info(Tag, GetString(Resource.String.authn_success)); }
public static ServerAssertionResultRequest ConvertToServerAssertionResultRequest(AuthenticatorAssertionResponse authenticatorAssertation) { ServerAssertionResultResponseRequest assertionResultResponse = new ServerAssertionResultResponseRequest(); assertionResultResponse.Signature = ByteUtils.ByteToBase64(authenticatorAssertation.GetSignature()); assertionResultResponse.ClientDataJSON = ByteUtils.ByteToBase64(authenticatorAssertation.GetClientDataJson()); assertionResultResponse.AuthenticatorData = ByteUtils.ByteToBase64(authenticatorAssertation.GetAuthenticatorData()); ServerAssertionResultRequest request = new ServerAssertionResultRequest(); request.Response = assertionResultResponse; request.Id = ByteUtils.ByteToBase64(authenticatorAssertation.GetCredentialId()); request.Type = "public-key"; return(request); }
ServerResponse IFidoServer.GetAssertionResult(ServerAssertionResultRequest assertionResultRequest) { ServerResponse response = new ServerResponse(); return(response); }