Remove MultiTenantAuthenticationManagerResolver

Fixes gh-7259
This commit is contained in:
Josh Cummings
2019-08-14 11:14:47 -06:00
parent b45e57cc40
commit 9735a718cc
3 changed files with 8 additions and 336 deletions

View File

@@ -17,6 +17,7 @@ package sample;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Value;
@@ -33,8 +34,6 @@ import org.springframework.security.oauth2.server.resource.authentication.OAuth2
import org.springframework.security.oauth2.server.resource.introspection.NimbusOpaqueTokenIntrospector;
import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
import static org.springframework.security.web.authentication.MultiTenantAuthenticationManagerResolver.resolveFromPath;
/**
* @author Josh Cummings
*/
@@ -68,7 +67,13 @@ public class OAuth2ResourceServerSecurityConfiguration extends WebSecurityConfig
Map<String, AuthenticationManager> authenticationManagers = new HashMap<>();
authenticationManagers.put("tenantOne", jwt());
authenticationManagers.put("tenantTwo", opaque());
return resolveFromPath(authenticationManagers::get);
return request -> {
String[] pathParts = request.getRequestURI().split("/");
String tenantId = pathParts.length > 0 ? pathParts[1] : null;
return Optional.ofNullable(tenantId)
.map(authenticationManagers::get)
.orElseThrow(() -> new IllegalArgumentException("unknown tenant"));
};
}
AuthenticationManager jwt() {