Skip to content

Commit 4e362e1

Browse files
authored
Release/v10.9.5 (#1526)
* feat(api-keys): implement API key management with creation, retrieval, update, and deletion functionalities * fix(collector): update button label and refactor collector configuration structure Signed-off-by: Manuel Abascal <[email protected]> * Revert "feat(api-keys): add API key management component with modal for creation and editing" This reverts commit a574169. * refactor(collectors): rename CollectorConfigKeysDTO to CollectorConfigDTO and simplify getters/setters * fix(constants): correct formatting of secret token in installation commands Signed-off-by: Manuel Abascal <[email protected]> * feat(security): add TFA exemption header for bypassing two-factor authentication * Revert "feat(api-keys): implement API key management with creation, retrieval, update, and deletion functionalities" This reverts commit 34e2ac9 * Revert "feat(api-keys): implement API key management with creation, retrieval, update, and deletion functionalities" This reverts commit 497e674 * chore(release): update version to 10.9.4 and adjust release notes --------- Signed-off-by: Manuel Abascal <[email protected]>
1 parent 9aaccb7 commit 4e362e1

File tree

49 files changed

+74
-2059
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+74
-2059
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# UTMStack 10.9.5 Release Notes
1+
# UTMStack 10.9.4 Release Notes
22

33
– Visual adjustments applied to the SOC AI Integration to ensure consistent behavior and user interaction.
44
– Updated the header component to improve version visibility and overall UI consistency.

backend/pom.xml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@
273273
<dependency>
274274
<groupId>org.springdoc</groupId>
275275
<artifactId>springdoc-openapi-ui</artifactId>
276-
<version>1.6.15</version>
276+
<version>1.6.7</version>
277277
</dependency>
278278
<dependency>
279279
<groupId>com.utmstack</groupId>
@@ -351,11 +351,6 @@
351351
<artifactId>tika-core</artifactId>
352352
<version>2.9.1</version>
353353
</dependency>
354-
<dependency>
355-
<groupId>commons-net</groupId>
356-
<artifactId>commons-net</artifactId>
357-
<version>3.9.0</version>
358-
</dependency>
359354
</dependencies>
360355

361356
<build>

backend/src/main/java/com/park/utmstack/config/Constants.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
import com.park.utmstack.domain.index_pattern.enums.SystemIndexPattern;
44

5-
import java.util.Collections;
65
import java.util.HashMap;
7-
import java.util.List;
86
import java.util.Map;
97

108
public final class Constants {
@@ -130,7 +128,6 @@ public final class Constants {
130128
// Defines the index pattern for querying Elasticsearch statistics indexes.
131129
// ----------------------------------------------------------------------------------
132130
public static final String STATISTICS_INDEX_PATTERN = "v11-statistics-*";
133-
public static final String API_ACCESS_LOGS = ".utmstack-api-logs";
134131

135132
// Logging
136133
public static final String TRACE_ID_KEY = "traceId";
@@ -142,10 +139,7 @@ public final class Constants {
142139
public static final String DURATION_KEY = "duration";
143140
public static final String CAUSE_KEY = "cause";
144141
public static final String LAYER_KEY = "layer";
145-
146-
public static final String API_KEY_HEADER = "Utm-Api-Key";
147-
public static final List<String> API_ENDPOINT_IGNORE = Collections.emptyList();
148-
142+
public static final String TFA_EXEMPTION_HEADER = "X-Bypass-TFA";
149143

150144
private Constants() {
151145
}

backend/src/main/java/com/park/utmstack/config/OpenApiConfiguration.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,10 @@ public OpenApiConfiguration(InfoEndpoint infoEndpoint) {
2424
public OpenAPI customOpenAPI() {
2525
final String securitySchemeBearer = "bearerAuth";
2626
final String securitySchemeApiKey = "ApiKeyAuth";
27-
2827
final String apiTitle = "UTMStack API";
2928
String version = MapUtil.flattenToStringMap(infoEndpoint.info(), true).get("build.version");
3029
return new OpenAPI()
31-
.addSecurityItem(new SecurityRequirement()
32-
.addList(securitySchemeBearer)
33-
.addList(securitySchemeApiKey))
30+
.addSecurityItem(new SecurityRequirement().addList(securitySchemeBearer).addList(securitySchemeApiKey))
3431
.components(new Components()
3532
.addSecuritySchemes(securitySchemeBearer,
3633
new SecurityScheme()
@@ -39,7 +36,7 @@ public OpenAPI customOpenAPI() {
3936
.scheme("bearer")
4037
.bearerFormat("JWT"))
4138
.addSecuritySchemes(securitySchemeApiKey, new SecurityScheme()
42-
.name(Constants.API_KEY_HEADER)
39+
.name("Utm-Internal-Key")
4340
.type(SecurityScheme.Type.APIKEY)
4441
.in(SecurityScheme.In.HEADER)))
4542
.info(new Info().title(apiTitle).version(version))

backend/src/main/java/com/park/utmstack/config/SecurityConfiguration.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
package com.park.utmstack.config;
22

33
import com.park.utmstack.security.AuthoritiesConstants;
4-
import com.park.utmstack.security.api_key.ApiKeyConfigurer;
5-
import com.park.utmstack.security.api_key.ApiKeyFilter;
64
import com.park.utmstack.security.internalApiKey.InternalApiKeyConfigurer;
75
import com.park.utmstack.security.internalApiKey.InternalApiKeyProvider;
86
import com.park.utmstack.security.jwt.JWTConfigurer;
97
import com.park.utmstack.security.jwt.TokenProvider;
10-
import lombok.RequiredArgsConstructor;
118
import org.springframework.beans.factory.BeanInitializationException;
129
import org.springframework.context.annotation.Bean;
1310
import org.springframework.context.annotation.Configuration;
@@ -32,7 +29,6 @@
3229
import javax.servlet.http.HttpServletResponse;
3330

3431
@Configuration
35-
@RequiredArgsConstructor
3632
@EnableWebSecurity
3733
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
3834
@Import(SecurityProblemSupport.class)
@@ -43,7 +39,17 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
4339
private final TokenProvider tokenProvider;
4440
private final CorsFilter corsFilter;
4541
private final InternalApiKeyProvider internalApiKeyProvider;
46-
private final ApiKeyFilter apiKeyFilter;
42+
43+
public SecurityConfiguration(AuthenticationManagerBuilder authenticationManagerBuilder,
44+
UserDetailsService userDetailsService,
45+
TokenProvider tokenProvider,
46+
CorsFilter corsFilter, InternalApiKeyProvider internalApiKeyProvider) {
47+
this.authenticationManagerBuilder = authenticationManagerBuilder;
48+
this.userDetailsService = userDetailsService;
49+
this.tokenProvider = tokenProvider;
50+
this.corsFilter = corsFilter;
51+
this.internalApiKeyProvider = internalApiKeyProvider;
52+
}
4753

4854
@PostConstruct
4955
public void init() {
@@ -116,10 +122,7 @@ public void configure(HttpSecurity http) throws Exception {
116122
.and()
117123
.apply(securityConfigurerAdapterForJwt())
118124
.and()
119-
.apply(securityConfigurerAdapterForInternalApiKey())
120-
.and()
121-
.apply(securityConfigurerAdapterForApiKey()) ;
122-
125+
.apply(securityConfigurerAdapterForInternalApiKey());
123126

124127
}
125128

@@ -130,9 +133,4 @@ private JWTConfigurer securityConfigurerAdapterForJwt() {
130133
private InternalApiKeyConfigurer securityConfigurerAdapterForInternalApiKey() {
131134
return new InternalApiKeyConfigurer(internalApiKeyProvider);
132135
}
133-
134-
private ApiKeyConfigurer securityConfigurerAdapterForApiKey() {
135-
return new ApiKeyConfigurer(apiKeyFilter);
136-
}
137-
138136
}

backend/src/main/java/com/park/utmstack/domain/User.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public class User extends AbstractAuditingEntity implements Serializable {
9090
private Boolean defaultPassword;
9191

9292
@JsonIgnore
93-
@ManyToMany(fetch = FetchType.EAGER)
93+
@ManyToMany
9494
@JoinTable(name = "jhi_user_authority", joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")}, inverseJoinColumns = {@JoinColumn(name = "authority_name", referencedColumnName = "name")})
9595

9696
@BatchSize(size = 20)

backend/src/main/java/com/park/utmstack/domain/api_keys/ApiKey.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

backend/src/main/java/com/park/utmstack/domain/api_keys/ApiKeyUsageLog.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

backend/src/main/java/com/park/utmstack/domain/application_events/enums/ApplicationEventType.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,5 @@ public enum ApplicationEventType {
4242
ERROR,
4343
WARNING,
4444
INFO,
45-
MODULE_ACTIVATION_ATTEMPT,
46-
MODULE_ACTIVATION_SUCCESS,
47-
API_KEY_ACCESS_SUCCESS,
48-
API_KEY_ACCESS_FAILURE,
49-
UNDEFINED
45+
MODULE_ACTIVATION_ATTEMPT, MODULE_ACTIVATION_SUCCESS, UNDEFINED
5046
}

backend/src/main/java/com/park/utmstack/loggin/api_key/ApiKeyUsageLoggingService.java

Lines changed: 0 additions & 139 deletions
This file was deleted.

0 commit comments

Comments
 (0)