Wrap with the CheckTermsHandler handlers only with authorization.
This commit is contained in:
@@ -52,7 +52,8 @@ import io.kamax.mxisd.http.undertow.handler.identity.share.SessionValidationGetH
|
|||||||
import io.kamax.mxisd.http.undertow.handler.identity.share.SessionValidationPostHandler;
|
import io.kamax.mxisd.http.undertow.handler.identity.share.SessionValidationPostHandler;
|
||||||
import io.kamax.mxisd.http.undertow.handler.identity.share.SignEd25519Handler;
|
import io.kamax.mxisd.http.undertow.handler.identity.share.SignEd25519Handler;
|
||||||
import io.kamax.mxisd.http.undertow.handler.identity.share.StoreInviteHandler;
|
import io.kamax.mxisd.http.undertow.handler.identity.share.StoreInviteHandler;
|
||||||
import io.kamax.mxisd.http.undertow.handler.identity.v1.*;
|
import io.kamax.mxisd.http.undertow.handler.identity.v1.BulkLookupHandler;
|
||||||
|
import io.kamax.mxisd.http.undertow.handler.identity.v1.SingleLookupHandler;
|
||||||
import io.kamax.mxisd.http.undertow.handler.identity.v2.HashDetailsHandler;
|
import io.kamax.mxisd.http.undertow.handler.identity.v2.HashDetailsHandler;
|
||||||
import io.kamax.mxisd.http.undertow.handler.identity.v2.HashLookupHandler;
|
import io.kamax.mxisd.http.undertow.handler.identity.v2.HashLookupHandler;
|
||||||
import io.kamax.mxisd.http.undertow.handler.invite.v1.RoomInviteHandler;
|
import io.kamax.mxisd.http.undertow.handler.invite.v1.RoomInviteHandler;
|
||||||
@@ -220,10 +221,14 @@ public class HttpMxisd {
|
|||||||
}
|
}
|
||||||
if (matrixConfig.isV2()) {
|
if (matrixConfig.isV2()) {
|
||||||
List<PolicyConfig.PolicyObject> policyObjects = getPolicyObjects(apiHandler);
|
List<PolicyConfig.PolicyObject> policyObjects = getPolicyObjects(apiHandler);
|
||||||
HttpHandler handlerWithTerms = policyObjects.isEmpty()
|
boolean wrapWithTerms = !policyObjects.isEmpty();
|
||||||
? httpHandler
|
HttpHandler wrappedHandler;
|
||||||
: CheckTermsHandler.around(m.getAccMgr(), httpHandler, policyObjects);
|
if (useAuthorization) {
|
||||||
HttpHandler wrappedHandler = useAuthorization ? AuthorizationHandler.around(m.getAccMgr(), handlerWithTerms) : handlerWithTerms;
|
wrappedHandler = wrapWithTerms ? CheckTermsHandler.around(m.getAccMgr(), httpHandler, policyObjects) : httpHandler;
|
||||||
|
wrappedHandler = AuthorizationHandler.around(m.getAccMgr(), wrappedHandler);
|
||||||
|
} else {
|
||||||
|
wrappedHandler = httpHandler;
|
||||||
|
}
|
||||||
routingHandler.add(method, apiHandler.getPath(IdentityServiceAPI.V2), wrappedHandler);
|
routingHandler.add(method, apiHandler.getPath(IdentityServiceAPI.V2), wrappedHandler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ package io.kamax.mxisd.http.undertow.handler;
|
|||||||
import io.kamax.mxisd.auth.AccountManager;
|
import io.kamax.mxisd.auth.AccountManager;
|
||||||
import io.kamax.mxisd.config.PolicyConfig;
|
import io.kamax.mxisd.config.PolicyConfig;
|
||||||
import io.kamax.mxisd.exception.InvalidCredentialsException;
|
import io.kamax.mxisd.exception.InvalidCredentialsException;
|
||||||
import io.kamax.mxisd.storage.ormlite.dao.AccountDao;
|
|
||||||
import io.undertow.server.HttpHandler;
|
import io.undertow.server.HttpHandler;
|
||||||
import io.undertow.server.HttpServerExchange;
|
import io.undertow.server.HttpServerExchange;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|||||||
Reference in New Issue
Block a user