Class ReceivedEndpointSecurityHandler

    • Field Detail

      • log

        @Nonnull
        private org.slf4j.Logger log
        Logger.
      • uriComparator

        @Nonnull
        private URIComparator uriComparator
        The URI comparator to use in performing the validation.
      • httpServletRequest

        @NonnullAfterInit
        private javax.servlet.http.HttpServletRequest httpServletRequest
        The HttpServletRequest being processed.
    • Constructor Detail

      • ReceivedEndpointSecurityHandler

        public ReceivedEndpointSecurityHandler()
        Constructor.
    • Method Detail

      • getURIComparator

        @Nonnull
        public URIComparator getURIComparator()
        Get the URI comparator instance to use.
        Returns:
        the uriComparator.
      • setURIComparator

        public void setURIComparator​(@Nonnull
                                     URIComparator comparator)
        Set the URI comparator instance to use.
        Parameters:
        comparator - the new URI comparator to use
      • getHttpServletRequest

        @NonnullAfterInit
        public javax.servlet.http.HttpServletRequest getHttpServletRequest()
        Get the HTTP servlet request being processed.
        Returns:
        Returns the request.
      • setHttpServletRequest

        public void setHttpServletRequest​(@Nonnull
                                          javax.servlet.http.HttpServletRequest request)
        Set the HTTP servlet request being processed.
        Parameters:
        request - The to set.
      • compareEndpointURIs

        protected boolean compareEndpointURIs​(@Nonnull @NotEmpty
                                              String messageDestination,
                                              @Nonnull @NotEmpty
                                              String receiverEndpoint,
                                              @Nonnull
                                              URIComparator comparator)
                                       throws URIException
        Compare the message endpoint URI's specified.

        The comparison is performed using the specified instance of URIComparator.

        Parameters:
        messageDestination - the intended message destination endpoint URI
        receiverEndpoint - the endpoint URI at which the message was received
        comparator - the comparator instance to use
        Returns:
        true if the endpoints are equivalent, false otherwise
        Throws:
        URIException - if one of the URI's to evaluate is invalid
      • checkEndpointURI

        protected void checkEndpointURI​(@Nonnull
                                        MessageContext messageContext,
                                        @Nonnull
                                        URIComparator comparator)
                                 throws MessageHandlerException
        Check the validity of the SAML protocol message receiver endpoint against requirements indicated in the message.
        Parameters:
        messageContext - current message context
        comparator - the URI comparator instance to use, if null an internal default will be used
        Throws:
        MessageHandlerException - thrown if the message was received at an endpoint consistent with message requirements, or if there is a problem decoding and processing the message Destination or receiver endpoint information