Skip to content

Commit 70f4d24

Browse files
committed
Add audit logging to handleUserInfo
1 parent 34b2af7 commit 70f4d24

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

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

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
package com.uid2.admin.auth;
22

33
import com.okta.jwt.IdTokenVerifier;
4-
import com.uid2.shared.audit.Audit;
5-
import com.uid2.shared.audit.AuditParams;
6-
import io.vertx.core.Handler;
74
import io.vertx.core.Vertx;
85
import io.vertx.core.json.JsonObject;
96
import io.vertx.ext.auth.oauth2.OAuth2Auth;
107
import io.vertx.ext.auth.oauth2.OAuth2Options;
118
import io.vertx.ext.web.Route;
12-
import io.vertx.ext.web.RoutingContext;
139
import io.vertx.ext.web.handler.AuthenticationHandler;
1410
import io.vertx.ext.web.handler.OAuth2AuthHandler;
1511
import com.okta.jwt.AccessTokenVerifier;
@@ -28,11 +24,9 @@ public class OktaAuthProvider implements AuthProvider {
2824
private final List<String> scopes = List.of("openid", "email", "uid2.admin.human");
2925
private final AccessTokenVerifier accessTokenVerifier;
3026
private final IdTokenVerifier idTokenVerifier;
31-
private final Audit audit;
3227

3328
public OktaAuthProvider(JsonObject config) {
3429
this.config = config;
35-
this.audit = new Audit(OktaAuthProvider.class.getPackage().getName());
3630
if(isAuthDisabled(config)) {
3731
this.accessTokenVerifier = null;
3832
this.idTokenVerifier = null;
@@ -72,12 +66,6 @@ public AuthenticationHandler createAuthHandler(Vertx vertx, Route callbackRoute)
7266
);
7367
OAuth2AuthHandler authHandler = OAuth2AuthHandler.create(vertx, oktaAuth, this.config.getString(OKTA_CALLBACK));
7468
authHandler.extraParams(new JsonObject(String.format("{\"scope\":\"%s\"}", String.join(" ", this.scopes))));
75-
callbackRoute.handler(ctx -> {
76-
System.out.println("AUDIT START - Path: " + ctx.request().path());
77-
System.out.println("Query: " + ctx.request().query());
78-
this.audit.log(ctx, new AuditParams());
79-
ctx.next();
80-
});
8169
authHandler.setupCallback(callbackRoute);
8270
return authHandler;
8371
}

src/main/java/com/uid2/admin/vertx/AdminVerticle.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.uid2.admin.vertx.service.IService;
77
import com.uid2.shared.Const;
88
import com.uid2.shared.Utils;
9+
import com.uid2.shared.audit.Audit;
10+
import com.uid2.shared.audit.AuditParams;
911
import io.vertx.core.AbstractVerticle;
1012
import io.vertx.core.Promise;
1113
import io.vertx.core.http.HttpServerOptions;
@@ -34,6 +36,7 @@ public class AdminVerticle extends AbstractVerticle {
3436
private final TokenRefreshHandler tokenRefreshHandler;
3537
private final IService[] services;
3638
private final V2Router v2Router;
39+
private final Audit audit;
3740

3841
public AdminVerticle(JsonObject config,
3942
AuthProvider authProvider,
@@ -45,6 +48,7 @@ public AdminVerticle(JsonObject config,
4548
this.tokenRefreshHandler = tokenRefreshHandler;
4649
this.services = services;
4750
this.v2Router = v2Router;
51+
this.audit = new Audit("admin");
4852
}
4953

5054
public void start(Promise<Void> startPromise) {
@@ -113,6 +117,16 @@ private void handleUserinfo(RoutingContext rc) {
113117
List<String> groups = (List<String>) idJwt.getClaims().get("groups");
114118
jo.put("groups", new JsonArray(groups));
115119
jo.put("email", idJwt.getClaims().get("email"));
120+
121+
JsonObject userDetails = new JsonObject();
122+
userDetails.put("email", idJwt.getClaims().get("email"));
123+
userDetails.put("sub", idJwt.getClaims().get("sub"));
124+
userDetails.put("path", "/login");
125+
126+
LOGGER.info("Authenticated user accessing admin page - User: {}", userDetails.toString());
127+
rc.put("user_details", userDetails);
128+
this.audit.log(rc, new AuditParams());
129+
116130
rc.response().setStatusCode(200).end(jo.toString());
117131
} catch (Exception e) {
118132
if (rc.session() != null) {

0 commit comments

Comments
 (0)