Expected Behavior

JwtIssuerReactiveAuthenticationManagerResolver internally uses TrustedIssuerJwtAuthenticationManagerResolver, which does a predicate test on JWT issuer. JwtIssuerReactiveAuthenticationManagerResolver constructors only allow collection/array of issuer URLs, and TrustedIssuerJwtAuthenticationManagerResolver is not public. There should be another constructor that accepts a Predicate<String> (which gets delegated to TrustedIssuerJwtAuthenticationManagerResolver), or TrustedIssuerJwtAuthenticationManagerResolver should be made public.

Current Behavior

JwtIssuerReactiveAuthenticationManagerResolver only allows collection/array of issuer URLs. It should also generalize to allow any predicate on issuer.

Context

This helps simplify the usage of Spring Security in multi-tenancy context. As a developer, I only care to write code that validates the issuer URL; the underlying caching/lazy-loading of ReactiveJwtDecoder should be managed by Spring, which is already done by TrustedIssuerJwtAuthenticationManagerResolver.