/**
   * @param req
   * @param authnReqDTO
   */
  private void populateAuthnReqDTO(
      HttpServletRequest req,
      SAMLSSOAuthnReqDTO authnReqDTO,
      SAMLSSOSessionDTO sessionDTO,
      AuthenticationResult authResult)
      throws UserStoreException, IdentityException {

    authnReqDTO.setAssertionConsumerURL(sessionDTO.getAssertionConsumerURL());
    authnReqDTO.setId(sessionDTO.getRequestID());
    authnReqDTO.setIssuer(sessionDTO.getIssuer());
    authnReqDTO.setSubject(sessionDTO.getSubject());
    authnReqDTO.setRpSessionId(sessionDTO.getRelyingPartySessionId());
    authnReqDTO.setRequestMessageString(sessionDTO.getRequestMessageString());
    authnReqDTO.setQueryString(sessionDTO.getHttpQueryString());
    authnReqDTO.setDestination(sessionDTO.getDestination());
    authnReqDTO.setUser(authResult.getSubject());
    authnReqDTO.setIdPInitSSOEnabled(sessionDTO.isIdPInitSSO());
    authnReqDTO.setClaimMapping(authResult.getClaimMapping());
    authnReqDTO.setTenantDomain(sessionDTO.getTenantDomain());
    authnReqDTO.setIdPInitSLOEnabled(sessionDTO.isIdPInitSLO());

    SAMLSSOUtil.setIsSaaSApplication(authResult.isSaaSApp());
    SAMLSSOUtil.setUserTenantDomain(authResult.getSubject().getTenantDomain());
  }