Class JWKSourceBuilder<C extends SecurityContext>

    • Method Detail

      • create

        public static <C extends SecurityContextJWKSourceBuilder<C> create​(URL jwkSetURL,
                                                                             ResourceRetriever retriever)
        Creates a new JWK source builder using the specified JWK set URL and resource retriever.
        Parameters:
        jwkSetURL - The JWK set URL. Must not be null.
        retriever - The resource retriever. Must not be null.
      • cache

        public JWKSourceBuilder<Ccache​(boolean enable)
        Toggles caching of the JWK set.
        Parameters:
        enable - true to cache the JWK set.
        Returns:
        This builder.
      • cache

        public JWKSourceBuilder<Ccache​(long timeToLive,
                                         long cacheRefreshTimeout)
        Enables caching of the retrieved JWK set.
        Parameters:
        timeToLive - The time to live of the cached JWK set, in milliseconds.
        cacheRefreshTimeout - The cache refresh timeout, in milliseconds.
        Returns:
        This builder.
      • cache

        public JWKSourceBuilder<Ccache​(long timeToLive,
                                         long cacheRefreshTimeout,
                                         EventListener<CachingJWKSetSource<C>,​C> eventListener)
        Enables caching of the retrieved JWK set.
        Parameters:
        timeToLive - The time to live of the cached JWK set, in milliseconds.
        cacheRefreshTimeout - The cache refresh timeout, in milliseconds.
        eventListener - The event listener, null if not specified.
        Returns:
        This builder.
      • refreshAheadCache

        public JWKSourceBuilder<CrefreshAheadCache​(boolean enable)
        Toggles refresh-ahead caching of the JWK set.
        Parameters:
        enable - true to enable refresh-ahead caching of the JWK set.
        Returns:
        This builder.
      • refreshAheadCache

        public JWKSourceBuilder<CrefreshAheadCache​(long refreshAheadTime,
                                                     boolean scheduled)
        Enables refresh-ahead caching of the JWK set.
        Parameters:
        refreshAheadTime - The refresh ahead time, in milliseconds.
        scheduled - true to refresh in a scheduled manner, regardless of requests.
        Returns:
        This builder.
      • refreshAheadCache

        public JWKSourceBuilder<CrefreshAheadCache​(long refreshAheadTime,
                                                     boolean scheduled,
                                                     EventListener<CachingJWKSetSource<C>,​C> eventListener)
        Enables refresh-ahead caching of the JWK set.
        Parameters:
        refreshAheadTime - The refresh ahead time, in milliseconds.
        scheduled - true to refresh in a scheduled manner, regardless of requests.
        eventListener - The event listener, null if not specified.
        Returns:
        This builder.
      • rateLimited

        public JWKSourceBuilder<CrateLimited​(boolean enable)
        Toggles rate limiting of the JWK set retrieval.
        Parameters:
        enable - true to rate limit the JWK set retrieval.
        Returns:
        This builder.
      • rateLimited

        public JWKSourceBuilder<CrateLimited​(long minTimeInterval)
        Enables rate limiting of the JWK set retrieval.
        Parameters:
        minTimeInterval - The minimum allowed time interval between two JWK set retrievals, in milliseconds.
        Returns:
        This builder.
      • rateLimited

        public JWKSourceBuilder<CrateLimited​(long minTimeInterval,
                                               EventListener<RateLimitedJWKSetSource<C>,​C> eventListener)
        Enables rate limiting of the JWK set retrieval.
        Parameters:
        minTimeInterval - The minimum allowed time interval between two JWK set retrievals, in milliseconds.
        eventListener - The event listener, null if not specified.
        Returns:
        This builder.
      • failover

        public JWKSourceBuilder<Cfailover​(JWKSource<C> failover)
        Sets a failover JWK source.
        Parameters:
        failover - The failover JWK source, null if none.
        Returns:
        This builder.
      • retrying

        public JWKSourceBuilder<Cretrying​(boolean enable)
        Enables single retrial to retrieve the JWK set to work around transient network issues.
        Parameters:
        enable - true to enable single retrial.
        Returns:
        This builder.
      • outageTolerant

        public JWKSourceBuilder<CoutageTolerant​(boolean enable)
        Toggles outage tolerance by serving a cached JWK set in case of outage.
        Parameters:
        enable - true to enable the outage cache.
        Returns:
        This builder.
      • outageTolerant

        public JWKSourceBuilder<CoutageTolerant​(long timeToLive)
        Enables outage tolerance by serving a non-expiring cached JWK set in case of outage.
        Parameters:
        timeToLive - The time to live of the cached JWK set to cover outages, in milliseconds.
        Returns:
        This builder.
      • outageTolerant

        public JWKSourceBuilder<CoutageTolerant​(long timeToLive,
                                                  EventListener<OutageTolerantJWKSetSource<C>,​C> eventListener)
        Enables outage tolerance by serving a non-expiring cached JWK set in case of outage.
        Parameters:
        timeToLive - The time to live of the cached JWK set to cover outages, in milliseconds.
        eventListener - The event listener, null if not specified.
        Returns:
        This builder.