Class SAMLPeerEntityContext

  • All Implemented Interfaces:
    Iterable<org.opensaml.messaging.context.BaseContext>

    public final class SAMLPeerEntityContext
    extends AbstractAuthenticatableSAMLEntityContext
    Subcontext that carries information about a SAML peer entity.

    This context will often contain subcontexts, whose data is construed to be scoped to that peer entity.

    The method getEntityId() will attempt to dynamically resolve the appropriate data from the SAML message held in the message context if the data has not been set statically by the corresponding setter method. This evaluation will be attempted only if the this context instance is an immediate child of the message context, as returned by BaseContext.getParent().

    • Field Detail

      • log

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

        private boolean useSAML1QueryResourceAsEntityId
        Whether to use the resource of SAML 1 queries to resolve the entity ID.
    • Constructor Detail

      • SAMLPeerEntityContext

        public SAMLPeerEntityContext()
        Constructor.
    • Method Detail

      • getEntityId

        @Nullable
        @NotEmpty
        public String getEntityId()
        Gets the entityId of the SAML entity.
        Overrides:
        getEntityId in class AbstractSAMLEntityContext
        Returns:
        entityId of the SAML entity, may be null
      • getUseSAML1QueryResourceAsEntityId

        public boolean getUseSAML1QueryResourceAsEntityId()
        Gets whether to use the Resource attribute of some SAML 1 queries to resolve the entity ID.
        Returns:
        whether to use the Resource attribute of some SAML 1 queries to resolve the entity ID
      • setUseSAML1QueryResourceAsEntityId

        public void setUseSAML1QueryResourceAsEntityId​(boolean useResource)
        Sets whether to use the Resource attribute of some SAML 1 queries to resolve the entity ID.
        Parameters:
        useResource - whether to use the Resource attribute of some SAML 1 queries to resolve the entity ID
      • resolveEntityId

        @Nullable
        protected String resolveEntityId()
        Dynamically resolve the SAML peer entity ID from the SAML protocol message held in MessageContext.getMessage().
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml2Request

        @Nullable
        protected String processSaml2Request​(@Nonnull
                                             RequestAbstractType request)
        Resolve the SAML entity ID from a SAML 2 request.
        Parameters:
        request - the request
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml2Response

        @Nullable
        protected String processSaml2Response​(@Nonnull
                                              StatusResponseType statusResponse)
        Resolve the SAML entity ID from a SAML 2 response.
        Parameters:
        statusResponse - the response
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml2ResponseAssertions

        @Nullable
        protected String processSaml2ResponseAssertions​(@Nonnull
                                                        Response response)
        Resolve the SAML entity ID from the Assertions of a SAML 2 response.
        Parameters:
        response - the response
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml2Issuer

        @Nullable
        protected String processSaml2Issuer​(@Nullable
                                            Issuer issuer)
        Resolve the SAML entity ID from a SAML 2 Issuer.
        Parameters:
        issuer - the issuer
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml1Response

        @Nullable
        protected String processSaml1Response​(@Nonnull
                                              Response response)
        Resolve the SAML entity ID from a SAML 1 response.
        Parameters:
        response - the response
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml1Request

        @Nullable
        protected String processSaml1Request​(@Nonnull
                                             Request request)
        Resolve the SAML entity ID from a SAML 1 request.
        Parameters:
        request - the request
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml1AttributeQuery

        @Nullable
        protected String processSaml1AttributeQuery​(@Nonnull
                                                    AttributeQuery query)
        Resolve the SAML entity ID from a SAML 1 AttributeQuery.
        Parameters:
        query - the query
        Returns:
        the entity ID, or null if it could not be resolved
      • processSaml1AuthorizationDecisionQuery

        @Nullable
        protected String processSaml1AuthorizationDecisionQuery​(@Nonnull
                                                                AuthorizationDecisionQuery query)
        Resolve the SAML entityID from a SAML 1 AuthorizationDecisionQuery.
        Parameters:
        query - the query
        Returns:
        the entity ID, or null if it could not be resolved
      • resolveSAMLMessage

        @Nullable
        protected SAMLObject resolveSAMLMessage()
        Resolve the SAML message from the message context.
        Returns:
        the SAML message, or null if it can not be resolved