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
7 changes: 6 additions & 1 deletion server/src/main/java/invite/api/UserController.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import invite.exception.UserRestrictionException;
import invite.manage.EntityType;
import invite.manage.Manage;
import invite.logging.AccessLogger;
import invite.logging.Event;
import invite.model.*;
import invite.provision.Provisioning;
import invite.provision.ProvisioningService;
Expand Down Expand Up @@ -223,8 +225,11 @@ public View login(@RequestParam(value = "app", required = false, defaultValue =
}

@GetMapping("logout")
public ResponseEntity<Map<String, Integer>> logout(HttpServletRequest request) {
public ResponseEntity<Map<String, Integer>> logout(HttpServletRequest request, @Parameter(hidden = true) User user) {
LOG.debug("/logout");
if (user != null) {
AccessLogger.authentication(LOG, Event.Logout, user.getSub());
}
SecurityContextHolder.clearContext();
HttpSession session = request.getSession(false);
if (session != null) {
Expand Down
8 changes: 8 additions & 0 deletions server/src/main/java/invite/logging/AccessLogger.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,12 @@ public static void user(Log log, Event event, User user) {
));
log.info(String.format("%s user with sub %s", event, user.getSub()));
}

public static void authentication(Log log, Event event, String sub) {
MDC.setContextMap(Map.of(
"type", String.format("%s User", event),
"userId", sub
));
log.info(String.format("%s user with sub %s", event, sub));
}
}
2 changes: 1 addition & 1 deletion server/src/main/java/invite/logging/Event.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

public enum Event {

Created, Accepted, Updated, Resend, Deleted
Created, Accepted, Updated, Resend, Deleted, Login, Logout

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package invite.security;

import invite.manage.Manage;
import invite.logging.AccessLogger;
import invite.logging.Event;
import invite.model.User;
import invite.provision.ProvisioningService;
import invite.repository.UserRepository;
Expand Down Expand Up @@ -82,6 +84,7 @@ public OidcUser loadUser(OidcUserRequest userRequest) throws OAuth2Authenticatio
}
userRepository.save(user);
});
AccessLogger.authentication(LOG, Event.Login, sub);
OidcUserInfo oidcUserInfo = new OidcUserInfo(newClaims);
return new DefaultOidcUser(oidcUser.getAuthorities(), oidcUser.getIdToken(), oidcUserInfo);
}
Expand Down
Loading