code: public void validateWsFederationAuthenticationRequest(final RequestContext context) {
          val service = wsFederationCookieManager.retrieve(context);
          LOGGER.debug("Retrieved service [{}] from the session cookie", service);
  
          val request = WebUtils.getHttpServletRequestFromExternalWebflowContext(context);
          val wResult = request.getParameter(WRESULT);
          LOGGER.debug("Parameter [{}] received: [{}]", WRESULT, wResult);
          if (StringUtils.isBlank(wResult)) {
              LOGGER.error("No [{}] parameter is found", WRESULT);
              throw new IllegalArgumentException("Missing parameter " + WRESULT);
          }
          LOGGER.debug("Attempting to create an assertion from the token parameter");
          val rsToken = wsFederationHelper.getRequestSecurityTokenFromResult(wResult);
          val assertion = wsFederationHelper.buildAndVerifyAssertion(rsToken, configurations);
          if (assertion == null) {
              LOGGER.error("Could not validate assertion via parsing the token from [{}]", WRESULT);
              throw new IllegalArgumentException("Could not validate assertion via the provided token");
          }
          LOGGER.debug("Attempting to validate the signature on the assertion");
          if (!wsFederationHelper.validateSignature(assertion)) {
              val msg = "WS Requested Security Token is blank or the signature is not valid.";
              LOGGER.error(msg);
              throw new IllegalArgumentException(msg);
          }
          buildCredentialsFromAssertion(context, assertion, service);
      }
docs: Validate ws federation authentication request event.
  
  @param context the context