public AuthenticationResult extractAuthenticatedUser()

in src/main/java/com/epam/digital/data/platform/bpms/admin/config/security/KeycloakAuthenticationProvider.java [40:57]


  public AuthenticationResult extractAuthenticatedUser(HttpServletRequest request,
      ProcessEngine engine) {

    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    if (!(authentication instanceof OAuth2AuthenticationToken) || !(authentication
        .getPrincipal() instanceof OidcUser)) {
      return AuthenticationResult.unsuccessful();
    }
    String userId = ((OidcUser) authentication.getPrincipal()).getName();
    if (StringUtils.isEmpty(userId)) {
      return AuthenticationResult.unsuccessful();
    }

    AuthenticationResult authenticationResult = new AuthenticationResult(userId, true);
    authenticationResult.setGroups(getUserGroups(userId, engine));

    return authenticationResult;
  }