With https://github.com/spring-projects/spring-boot/issues/19426, the multi-tenancy sample can be simplified, allowing Boot to construct the JwtDecoder and OpaqueTokenIntrospector.

While here, this sample can also be simplified in a few other ways:

  • Use a header instead of a path element
  • Extract the custom AuthenticationManagerResolver into its own class
  • Remove the use of the word "tenant" in places where it's implied