Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions src/main/java/com/uid2/admin/vertx/AdminVerticle.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import java.util.List;

import static com.uid2.admin.auth.AuthUtil.isAuthDisabled;
import static com.uid2.admin.vertx.Endpoints.*;

public class AdminVerticle extends AbstractVerticle {
private static final Logger LOGGER = LoggerFactory.getLogger(AdminVerticle.class);
Expand Down Expand Up @@ -73,7 +74,7 @@ private Router createRoutesSetup() {
final TemplateEngine engine = PebbleTemplateEngine.create(vertx, "html");
final TemplateHandler templateHandler = TemplateHandler.create(engine, "webroot/adm/", TemplateHandler.DEFAULT_CONTENT_TYPE);

router.route("/login").handler(oktaHandler);
router.route(LOGIN.toString()).handler(oktaHandler);
router.get("/adm/*").handler(oktaHandler)
.handler(ctx -> {
ctx.put("ADD_CLIENT_KEY_MESSAGE", config.getString("add_client_key_message"));
Expand All @@ -83,10 +84,10 @@ private Router createRoutesSetup() {
.handler(templateHandler);
router.route("/api/*").handler(tokenRefreshHandler);

router.get("/login").handler(new RedirectToRootHandler(false));
router.get("/logout").handler(new RedirectToRootHandler(true));
router.get("/ops/healthcheck").handler(this::handleHealthCheck);
router.get("/api/userinfo").handler(this::handleUserinfo);
router.get(LOGIN.toString()).handler(new RedirectToRootHandler(false));
router.get(LOGOUT.toString()).handler(new RedirectToRootHandler(true));
router.get(OPS_HEALTHCHECK.toString()).handler(this::handleHealthCheck);
router.get(API_USERINFO.toString()).handler(this::handleUserinfo);

for (IService service : this.services) {
service.setupRoutes(router);
Expand Down
32 changes: 17 additions & 15 deletions src/main/java/com/uid2/admin/vertx/service/ClientKeyService.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
import java.util.Set;
import java.util.stream.Collectors;

import static com.uid2.admin.vertx.Endpoints.*;

public class ClientKeyService implements IService {
private static final Logger LOGGER = LoggerFactory.getLogger(ClientKeyService.class);
private static final ObjectWriter JSON_WRITER = JsonUtil.createJsonWriter();
Expand Down Expand Up @@ -68,72 +70,72 @@ public ClientKeyService(JsonObject config,

@Override
public void setupRoutes(Router router) {
router.get("/api/client/metadata").handler(
router.get(API_CLIENT_METADATA.toString()).handler(
auth.handle(this::handleClientMetadata, Role.MAINTAINER));
router.post("/api/client/rewrite_metadata").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRewriteMetadata(ctx);
}
}, Role.PRIVILEGED));

router.get("/api/client/list").handler(
router.get(API_CLIENT_LIST.toString()).handler(
auth.handle(this::handleClientList, Role.MAINTAINER, Role.METRICS_EXPORT));

router.get("/api/client/list/:siteId").handler(
router.get(API_CLIENT_LIST_SITEID.toString()).handler(
auth.handle(this::handleClientListBySite, Role.MAINTAINER, Role.SHARING_PORTAL));

router.get("/api/client/keyId").handler(
router.get(API_CLIENT_KEYID.toString()).handler(
auth.handle(this::handleClientByKeyId, Role.MAINTAINER, Role.SHARING_PORTAL));

router.get("/api/client/contact").handler(
router.get(API_CLIENT_CONTACT.toString()).handler(
auth.handle(this::handleClientByContact, Role.MAINTAINER, Role.SHARING_PORTAL));

router.get("/api/client/reveal").handler(
router.get(API_CLIENT_REVEAL.toString()).handler(
auth.handle(this::handleClientReveal, Role.PRIVILEGED));

router.post("/api/client/add").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_ADD.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientAdd(ctx);
}
}, Role.MAINTAINER, Role.SHARING_PORTAL));

router.post("/api/client/del").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_DEL.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientDel(ctx);
}
}, Role.SUPER_USER));

router.post("/api/client/update").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientUpdate(ctx);
}
}, Role.MAINTAINER));

router.post("/api/client/disable").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_DISABLE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientDisable(ctx);
}
}, Role.MAINTAINER, Role.SHARING_PORTAL));

router.post("/api/client/enable").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_ENABLE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientEnable(ctx);
}
}, Role.MAINTAINER));

router.post("/api/client/roles").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_ROLES.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientRoles(ctx);
}
}, Role.PRIVILEGED, Role.SHARING_PORTAL));

router.post("/api/client/contact").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_CONTACT.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientContact(ctx);
}
}, Role.MAINTAINER));

router.post("/api/client/rename").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_RENAME.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleClientRename(ctx);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

import static com.uid2.admin.store.writer.ClientSideKeypairStoreWriter.toJsonWithPrivateKey;
import static com.uid2.admin.store.writer.ClientSideKeypairStoreWriter.toJsonWithoutPrivateKey;
import static com.uid2.admin.vertx.Endpoints.*;

public class ClientSideKeypairService implements IService, IKeypairManager {
private final AdminAuthMiddleware auth;
Expand Down Expand Up @@ -64,19 +65,19 @@ public ClientSideKeypairService(JsonObject config,

@Override
public void setupRoutes(Router router) {
router.post("/api/client_side_keypairs/add").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_SIDE_KEYPAIRS_ADD.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleAddKeypair(ctx);
}
}, Role.MAINTAINER, Role.SHARING_PORTAL));
router.post("/api/client_side_keypairs/update").blockingHandler(auth.handle((ctx) -> {
router.post(API_CLIENT_SIDE_KEYPAIRS_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleUpdateKeypair(ctx);
}
}, Role.MAINTAINER, Role.SHARING_PORTAL));
router.get("/api/client_side_keypairs/list").handler(
router.get(API_CLIENT_SIDE_KEYPAIRS_LIST.toString()).handler(
auth.handle(this::handleListAllKeypairs, Role.MAINTAINER, Role.METRICS_EXPORT));
router.get("/api/client_side_keypairs/:subscriptionId").handler(
router.get(API_CLIENT_SIDE_KEYPAIRS_SUBSCRIPTIONID.toString()).handler(
auth.handle(this::handleListKeypair, Role.MAINTAINER)
);
}
Expand Down
10 changes: 6 additions & 4 deletions src/main/java/com/uid2/admin/vertx/service/EnclaveIdService.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import java.util.Optional;
import java.util.stream.Collectors;

import static com.uid2.admin.vertx.Endpoints.*;

public class EnclaveIdService implements IService {
private final AdminAuthMiddleware auth;
private final WriteLock writeLock;
Expand All @@ -44,17 +46,17 @@ public EnclaveIdService(AdminAuthMiddleware auth,

@Override
public void setupRoutes(Router router) {
router.get("/api/enclave/metadata").handler(
router.get(API_ENCLAVE_METADATA.toString()).handler(
auth.handle(this::handleEnclaveMetadata, Role.MAINTAINER));
router.get("/api/enclave/list").handler(
router.get(API_ENCLAVE_LIST.toString()).handler(
auth.handle(this::handleEnclaveList, Role.MAINTAINER));

router.post("/api/enclave/add").blockingHandler(auth.handle((ctx) -> {
router.post(API_ENCLAVE_ADD.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleEnclaveAdd(ctx);
}
}, Role.PRIVILEGED));
router.post("/api/enclave/del").blockingHandler(auth.handle((ctx) -> {
router.post(API_ENCLAVE_DEL.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleEnclaveDel(ctx);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

import static com.uid2.admin.AdminConst.enableKeysetConfigProp;
import static com.uid2.admin.managers.KeysetManager.*;
import static com.uid2.admin.vertx.Endpoints.*;
import static java.util.stream.Collectors.*;

public class EncryptionKeyService implements IService, IEncryptionKeyManager, IKeysetKeyManager {
Expand Down Expand Up @@ -122,47 +123,47 @@ public EncryptionKeyService(JsonObject config,

@Override
public void setupRoutes(Router router) {
router.get("/api/key/list").handler(
router.get(API_KEY_LIST.toString()).handler(
auth.handle(this::handleKeyList, Role.MAINTAINER));

if(enableKeysets) {
router.get("/api/key/list_keyset_keys").handler(
router.get(API_KEY_LIST_KEYSET_KEYS.toString()).handler(
auth.handle(this::handleKeysetKeyList, Role.MAINTAINER));
}

router.post("/api/key/rewrite_metadata").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEY_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRewriteMetadata(ctx);
}
}, Role.PRIVILEGED));

router.post("/api/key/rotate_master").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEY_ROTATE_MASTER.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRotateMasterKey(ctx);
}
}, Role.MAINTAINER, Role.SECRET_ROTATION));

router.post("/api/key/add").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEY_ADD.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleAddSiteKey(ctx);
}
}, Role.MAINTAINER));

router.post("/api/key/rotate_site").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEY_ROTATE_SITE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRotateSiteKey(ctx);
}
}, Role.MAINTAINER));

if(enableKeysets) {
router.post("/api/key/rotate_keyset_key").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEY_ROTATE_KEYSET_KEY.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRotateKeysetKey(ctx);
}
}, Role.MAINTAINER));
}

router.post("/api/key/rotate_all_sites").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEY_ROTATE_ALL_SITES.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRotateAllSiteKeys(ctx);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
import com.uid2.shared.auth.Role;
import io.vertx.ext.web.Router;

import static com.uid2.admin.vertx.Endpoints.API_JOB_DISPATCHER_CURRENT_JOB;
import static com.uid2.admin.vertx.Endpoints.API_JOB_DISPATCHER_JOB_QUEUE;

public class JobDispatcherService implements IService {
private final ObjectWriter jsonWriter = JsonUtil.createJsonWriter();
private final AdminAuthMiddleware auth;
Expand All @@ -19,7 +22,7 @@ public JobDispatcherService(AdminAuthMiddleware auth, JobDispatcher jobDispatche

@Override
public void setupRoutes(Router router) {
router.get("/api/job-dispatcher/current-job").blockingHandler(auth.handle((ctx) -> {
router.get(API_JOB_DISPATCHER_CURRENT_JOB.toString()).blockingHandler(auth.handle((ctx) -> {
try {
ctx.response().end(jsonWriter.writeValueAsString(jobDispatcher.getExecutingJobInfo()));
} catch (Exception ex) {
Expand All @@ -29,7 +32,7 @@ public void setupRoutes(Router router) {
//can be other role
Role.MAINTAINER));

router.get("/api/job-dispatcher/job-queue").blockingHandler(auth.handle((ctx) -> {
router.get(API_JOB_DISPATCHER_JOB_QUEUE.toString()).blockingHandler(auth.handle((ctx) -> {
try {
ctx.response().end(jsonWriter.writeValueAsString(jobDispatcher.getJobQueueInfo()));
} catch (Exception ex) {
Expand Down
7 changes: 5 additions & 2 deletions src/main/java/com/uid2/admin/vertx/service/KeyAclService.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@

import java.util.*;

import static com.uid2.admin.vertx.Endpoints.API_KEYS_ACL_LIST;
import static com.uid2.admin.vertx.Endpoints.API_KEYS_ACL_REWRITE_METADATA;

public class KeyAclService implements IService {
private final AdminAuthMiddleware auth;
private final WriteLock writeLock;
Expand All @@ -47,10 +50,10 @@ public KeyAclService(AdminAuthMiddleware auth,

@Override
public void setupRoutes(Router router) {
router.get("/api/keys_acl/list").handler(
router.get(API_KEYS_ACL_LIST.toString()).handler(
auth.handle(this::handleKeyAclList, Role.MAINTAINER));

router.post("/api/keys_acl/rewrite_metadata").blockingHandler(auth.handle((ctx) -> {
router.post(API_KEYS_ACL_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleRewriteMetadata(ctx);
}
Expand Down
20 changes: 11 additions & 9 deletions src/main/java/com/uid2/admin/vertx/service/OperatorKeyService.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
import java.util.*;
import java.util.stream.Collectors;

import static com.uid2.admin.vertx.Endpoints.*;

public class OperatorKeyService implements IService {
private static final Logger LOGGER = LoggerFactory.getLogger(OperatorKeyService.class);
private static final ObjectWriter JSON_WRITER = JsonUtil.createJsonWriter();
Expand Down Expand Up @@ -71,44 +73,44 @@ public OperatorKeyService(JsonObject config,

@Override
public void setupRoutes(Router router) {
router.get("/api/operator/metadata").handler(
router.get(API_OPERATOR_METADATA.toString()).handler(
auth.handle(this::handleOperatorMetadata, Role.MAINTAINER));
router.get("/api/operator/list").handler(
router.get(API_OPERATOR_LIST.toString()).handler(
auth.handle(this::handleOperatorList, Role.MAINTAINER, Role.METRICS_EXPORT));
router.get("/api/operator/reveal").handler(
router.get(API_OPERATOR_REVEAL.toString()).handler(
auth.handle(this::handleOperatorReveal, Role.MAINTAINER));

router.post("/api/operator/add").blockingHandler(auth.handle((ctx) -> {
router.post(API_OPERATOR_ADD.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleOperatorAdd(ctx);
}
}, Role.MAINTAINER));

router.post("/api/operator/del").blockingHandler(auth.handle((ctx) -> {
router.post(API_OPERATOR_DEL.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleOperatorDel(ctx);
}
}, Role.SUPER_USER));

router.post("/api/operator/disable").blockingHandler(auth.handle((ctx) -> {
router.post(API_OPERATOR_DISABLE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleOperatorDisable(ctx);
}
}, Role.PRIVILEGED));

router.post("/api/operator/enable").blockingHandler(auth.handle((ctx) -> {
router.post(API_OPERATOR_ENABLE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleOperatorEnable(ctx);
}
}, Role.MAINTAINER));

router.post("/api/operator/update").blockingHandler(auth.handle((ctx) -> {
router.post(API_OPERATOR_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleOperatorUpdate(ctx);
}
}, Role.PRIVILEGED));

router.post("/api/operator/roles").blockingHandler(auth.handle((ctx) -> {
router.post(API_OPERATOR_ROLES.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handleOperatorRoles(ctx);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
import io.vertx.ext.web.Router;
import io.vertx.ext.web.RoutingContext;

import static com.uid2.admin.vertx.Endpoints.API_PARTNER_CONFIG_GET;
import static com.uid2.admin.vertx.Endpoints.API_PARTNER_CONFIG_UPDATE;

public class PartnerConfigService implements IService {
private final AdminAuthMiddleware auth;
private final WriteLock writeLock;
Expand All @@ -29,9 +32,9 @@ public PartnerConfigService(AdminAuthMiddleware auth,

@Override
public void setupRoutes(Router router) {
router.get("/api/partner_config/get").handler(
router.get(API_PARTNER_CONFIG_GET.toString()).handler(
auth.handle(this::handlePartnerConfigGet, Role.MAINTAINER));
router.post("/api/partner_config/update").blockingHandler(auth.handle((ctx) -> {
router.post(API_PARTNER_CONFIG_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> {
synchronized (writeLock) {
this.handlePartnerConfigUpdate(ctx);
}
Expand Down
Loading