diff --git a/src/main/java/io/kamax/mxisd/HttpMxisd.java b/src/main/java/io/kamax/mxisd/HttpMxisd.java index 2dda143..4d4505a 100644 --- a/src/main/java/io/kamax/mxisd/HttpMxisd.java +++ b/src/main/java/io/kamax/mxisd/HttpMxisd.java @@ -219,7 +219,10 @@ public class HttpMxisd { routingHandler.add(method, apiHandler.getPath(IdentityServiceAPI.V1), httpHandler); } if (matrixConfig.isV2()) { - HttpHandler handlerWithTerms = CheckTermsHandler.around(m.getAccMgr(), httpHandler, getPolicyObjects(apiHandler)); + List policyObjects = getPolicyObjects(apiHandler); + HttpHandler handlerWithTerms = policyObjects.isEmpty() + ? httpHandler + : CheckTermsHandler.around(m.getAccMgr(), httpHandler, policyObjects); HttpHandler wrappedHandler = useAuthorization ? AuthorizationHandler.around(m.getAccMgr(), handlerWithTerms) : handlerWithTerms; routingHandler.add(method, apiHandler.getPath(IdentityServiceAPI.V2), wrappedHandler); } diff --git a/src/main/java/io/kamax/mxisd/http/undertow/handler/CheckTermsHandler.java b/src/main/java/io/kamax/mxisd/http/undertow/handler/CheckTermsHandler.java index c30351f..64c1649 100644 --- a/src/main/java/io/kamax/mxisd/http/undertow/handler/CheckTermsHandler.java +++ b/src/main/java/io/kamax/mxisd/http/undertow/handler/CheckTermsHandler.java @@ -54,6 +54,11 @@ public class CheckTermsHandler extends BasicHttpHandler { @Override public void handleRequest(HttpServerExchange exchange) throws Exception { + if (policies == null || policies.isEmpty()) { + child.handleRequest(exchange); + return; + } + String token = findAccessToken(exchange).orElse(null); if (token == null) { log.error("Unauthorized request from: {}", exchange.getHostAndPort());