permit access to Swagger UI

This commit is contained in:
Michael Hoennig 2024-12-09 13:28:18 +01:00
parent a05430a54b
commit 44a549fc10
2 changed files with 16 additions and 1 deletions

View File

@ -17,10 +17,11 @@ public class WebSecurityConfig {
return http return http
.authorizeHttpRequests(authorize -> authorize .authorizeHttpRequests(authorize -> authorize
.requestMatchers("/api/**").permitAll() // TODO.impl: implement authentication .requestMatchers("/api/**").permitAll() // TODO.impl: implement authentication
.requestMatchers("/swagger-ui/**").permitAll()
.requestMatchers("/v3/api-docs/**").permitAll()
.requestMatchers("/actuator/**").permitAll() .requestMatchers("/actuator/**").permitAll()
.anyRequest().authenticated() .anyRequest().authenticated()
) )
.build(); .build();
} }
} }

View File

@ -42,6 +42,20 @@ class WebSecurityConfigIntegrationTest {
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK);
} }
@Test
public void shouldSupportSwaggerUi() {
final var result = this.restTemplate.getForEntity(
"http://localhost:" + this.managementPort + "/swagger-ui/index.html", String.class);
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK);
}
@Test
public void shouldSupportApiDocs() {
final var result = this.restTemplate.getForEntity(
"http://localhost:" + this.managementPort + "/v3/api-docs/swagger-config", String.class);
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); // permitted but not configured
}
@Test @Test
public void shouldSupportHealthEndpoint() { public void shouldSupportHealthEndpoint() {
final var result = this.restTemplate.getForEntity( final var result = this.restTemplate.getForEntity(