Skip to content

Commit 260a9ca

Browse files
Merge branch 'main' into sch-UID2-5851-migration-to-key-rotation
2 parents 534b8be + 349b2c8 commit 260a9ca

File tree

4 files changed

+27
-3
lines changed

4 files changed

+27
-3
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.uid2</groupId>
88
<artifactId>uid2-admin</artifactId>
9-
<version>6.10.10</version>
9+
<version>6.10.17</version>
1010

1111
<properties>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

src/main/java/com/uid2/admin/auth/OktaCustomScope.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public enum OktaCustomScope {
1111
SECRET_ROTATION("uid2.admin.secret-rotation", Role.SECRET_ROTATION),
1212
SITE_SYNC("uid2.admin.site-sync", Role.PRIVATE_OPERATOR_SYNC),
1313
METRICS_EXPORT("uid2.admin.metrics-export", Role.METRICS_EXPORT),
14+
ENCLAVE_REGISTRAR("uid2.admin.enclave-registrar", Role.ENCLAVE_REGISTRAR),
1415
INVALID("invalid", Role.UNKNOWN);
1516
private final String name;
1617
private final Role role;

src/main/java/com/uid2/admin/vertx/service/EnclaveIdService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void setupRoutes(Router router) {
5757
synchronized (writeLock) {
5858
this.handleEnclaveAdd(ctx);
5959
}
60-
}, new AuditParams(List.of("name", "protocol", "enclave_id"), Collections.emptyList()), Role.PRIVILEGED));
60+
}, new AuditParams(List.of("name", "protocol", "enclave_id"), Collections.emptyList()), Role.PRIVILEGED, Role.ENCLAVE_REGISTRAR));
6161
router.post(API_ENCLAVE_DEL.toString()).blockingHandler(auth.handle((ctx) -> {
6262
synchronized (writeLock) {
6363
this.handleEnclaveDel(ctx);

src/test/java/com/uid2/admin/vertx/EnclaveIdServiceTest.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void enclaveId_Add_Success(String protocol, Vertx vertx, VertxTestContext
9696
}
9797

9898
@ParameterizedTest
99-
@EnumSource(value = Role.class, names = {"PRIVILEGED", "SUPER_USER"}, mode = EnumSource.Mode.EXCLUDE)
99+
@EnumSource(value = Role.class, names = {"PRIVILEGED", "SUPER_USER", "ENCLAVE_REGISTRAR"}, mode = EnumSource.Mode.EXCLUDE)
100100
public void enclaveId_Add_NotAuthorized(Role role, Vertx vertx, VertxTestContext vertxTestContext) {
101101
fakeAuth(role);
102102

@@ -238,4 +238,27 @@ public void enclaveId_Delete_NotAuthorized(Role role, Vertx vertx, VertxTestCont
238238
});
239239
}
240240

241+
@ParameterizedTest
242+
@ValueSource(strings = {
243+
"/api/enclave/list",
244+
"/api/enclave/metadata",
245+
"/api/enclave/del?name=some-name",
246+
})
247+
public void enclaveId_Endpoints_NotAuthorized_ForEnclaveRegistrar(String url, Vertx vertx, VertxTestContext vertxTestContext) {
248+
fakeAuth(Role.ENCLAVE_REGISTRAR);
249+
250+
// Use GET for list/metadata, POST for delete
251+
if (url.contains("/del")) {
252+
post(vertx, vertxTestContext, url, "", response -> {
253+
assertEquals(401, response.statusCode());
254+
vertxTestContext.completeNow();
255+
});
256+
} else {
257+
get(vertx, vertxTestContext, url, response -> {
258+
assertEquals(401, response.statusCode());
259+
vertxTestContext.completeNow();
260+
});
261+
}
262+
}
263+
241264
}

0 commit comments

Comments
 (0)