Class ValidateRedirectURI

    • Field Detail

      • log

        @Nonnull
        private org.slf4j.Logger log
        Class logger.
      • redirectURILookupStrategy

        @Nonnull
        private Function<ProfileRequestContext,​URI> redirectURILookupStrategy
        Strategy used to obtain the redirect uri value in request.
      • validRedirectURIsLookupStrategy

        @Nonnull
        private Function<ProfileRequestContext,​Set<URI>> validRedirectURIsLookupStrategy
        Strategy used to obtain the redirect uris to compare request value to.
      • registeredRedirectURIsLookupStrategy

        @Nonnull
        private Function<ProfileRequestContext,​Set<URI>> registeredRedirectURIsLookupStrategy
        Strategy used to obtain registered redirect uris to compare if request had no redirect uri value.
      • requireRequestedValue

        private boolean requireRequestedValue
        Whether to require redirect uri value in the request also when only single value is registered.
    • Constructor Detail

      • ValidateRedirectURI

        public ValidateRedirectURI()
        Constructor.
    • Method Detail

      • setRedirectURILookupStrategy

        public void setRedirectURILookupStrategy​(@Nonnull
                                                 Function<ProfileRequestContext,​URI> strategy)
        Set the strategy used to locate the redirect uri of the request.
        Parameters:
        strategy - lookup strategy
      • setValidRedirectURIsLookupStrategy

        public void setValidRedirectURIsLookupStrategy​(@Nonnull
                                                       Function<ProfileRequestContext,​Set<URI>> strategy)
        Set the strategy used to locate the redirect uris to compare against.
        Parameters:
        strategy - lookup strategy
      • setRegisteredRedirectURIsLookupStrategy

        public void setRegisteredRedirectURIsLookupStrategy​(@Nonnull
                                                            Function<ProfileRequestContext,​Set<URI>> strategy)
        Set the strategy used to obtain registered redirect uris to compare if request had no redirect uri value.
        Parameters:
        strategy - lookup strategy
      • setRequireRequestedValue

        public void setRequireRequestedValue​(boolean flag)
        Set whether to require redirect uri value in the request also when only single value is registered.
        Parameters:
        flag - flag to set
      • handleNullRequestedURI

        protected void handleNullRequestedURI​(ProfileRequestContext profileRequestContext,
                                              @Nonnull @NotEmpty
                                              Set<URI> validRedirectionURIs)
        Handles the missing requested redirect URI case: it may be missing if it's not required to exist and the registered and valid records contain only single matching value.
        Parameters:
        profileRequestContext - profile request context
        validRedirectionURIs - set of valid redirection uris