private TicketValidationResult validateRequestAndBuildCasAssertion(final HttpServletResponse response,
                                                                       final HttpServletRequest request,
                                                                       final WSFederationRequest fedRequest) throws Throwable {
        val ticket = request.getParameter(CasProtocolConstants.PARAMETER_TICKET);
        val serviceUrl = constructServiceUrl(request, response, fedRequest);
        LOGGER.trace("Created service url for validation: [{}]", serviceUrl);
        val assertion = getConfigContext().getTicketValidator().validate(ticket, serviceUrl);
        LOGGER.debug("Located CAS assertion [{}]", assertion);
        return assertion;
    }
Handle federation request.

@param response the response
@param request  the request
@return the model and view
@throws Throwable the throwable
support/cas-server-support-ws-idp/src/main/java/org/apereo/cas/ws/idp/web/WSFederationValidateRequestCallbackController.java