Class MetadataServiceRegistry

    • Field Detail

      • LOGIN_BINDING

        public static final String LOGIN_BINDING
        URI identifying an ACS endpoint that requests CAS service tickets.
        See Also:
        Constant Field Values
      • LOGOUT_LOCATION

        public static final String LOGOUT_LOCATION
        URN marking that SLO endpoint is dynamic based on service ticket URL.
        See Also:
        Constant Field Values
      • PROXY_BINDING

        public static final String PROXY_BINDING
        URI identifying a CAS proxy callback endoint.
        See Also:
        Constant Field Values
      • log

        private final org.slf4j.Logger log
        Class logger.
    • Constructor Detail

      • MetadataServiceRegistry

        public MetadataServiceRegistry​(@Nonnull @ParameterName(name="resolver")
                                       RoleDescriptorResolver resolver)
        Create a new instance that queries the given metadata resolver.
        Parameters:
        resolver - SAML metadata resolver.
    • Method Detail

      • criteria

        @Nonnull
        protected CriteriaSet criteria​(@Nonnull
                                       String serviceURL)
        Create the set of criteria used to find a unique CAS service given a CAS service URL.
        Parameters:
        serviceURL - CAS service URL.
        Returns:
        Metadata resolver criteria set.
      • create

        @Nonnull
        protected Service create​(@Nonnull
                                 String serviceURL,
                                 @Nonnull
                                 SPSSODescriptor role)
        Create a CAS Service from an input service URL and the matching RoleDescriptor that was resolved from the metadata source.
        Parameters:
        serviceURL - CAS service URL.
        role - resolved from metadata.
        Returns:
        CAS service created from inputs.
      • isAuthorizedToProxy

        private boolean isAuthorizedToProxy​(@Nonnull
                                            SPSSODescriptor role)
        Checks if the EntityDescriptor have a PROXY_BINDING acs.
        Parameters:
        role - what to look at
        Returns:
        whether is is authorized to proxy
      • hasSingleLogoutService

        private boolean hasSingleLogoutService​(@Nonnull
                                               SPSSODescriptor role)
        Checks if the EntityDescriptor has an SLO endpoint.
        Parameters:
        role - what to look at
        Returns:
        whether it has an SLO endpoint