public void FakeCodeEndpoint(AuthorizationRequest req, AuthorizationResponse resp)
        {
            // XXX: Do we need to check that req.response_type == "code"?
            // Currently, as per the comment in
            // AuthorizationCodeFlow_Login_CallbackAsync, FakeCodeEndpoint only
            // needs to handle the kinds of requests actually made by RP, which
            // request a code.  We don't care about the value of
            // req.response_type in its own right.

            var producer = SVX.Channel.GenerateNew(SVX_Principal);
            var client   = SVX.Channel.GenerateNew(SVX_Principal);

            messageStructures.authorizationRequest.FakeImport(req, producer, client);

            var idpConc = new IdPAuthenticationEntry();  // Nondet

            SVX.SVX_Ops.FakeCall(SVX_ConcludeClientAuthentication, idpConc, idpConc);

            SVX.SVX_Ops.FakeCall(SVX_MakeAuthorizationResponse, req, idpConc, resp);

            messageStructures.authorizationResponse.FakeExport(resp);
        }
 // conclusion.authenticatedClient should be set to authorizationResponse.SVX_sender.
 // The arguments must be passed in this order for SVX to detect that
 // userProfileResponse resulted from a computation on authorizationResponse.
 public virtual GenericAuth.AuthenticationConclusion createConclusion(
     AuthorizationResponse authorizationResponse, UserProfileResponse userProfileResponse)
 {
     return(null);
 }
 public virtual AccessTokenRequest createAccessTokenRequest(AuthorizationResponse authorizationResponse)
 {
     return(null);
 }