Skip to content

Commit cf1c1cd

Browse files
committed
chore: cors for openapi
1 parent ee7920f commit cf1c1cd

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

src/main/java/io/papermc/fill/configuration/SecurityConfiguration.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.jspecify.annotations.NullMarked;
2222
import org.springframework.context.annotation.Bean;
2323
import org.springframework.context.annotation.Configuration;
24+
import org.springframework.http.HttpMethod;
2425
import org.springframework.security.authentication.AuthenticationManager;
2526
import org.springframework.security.config.Customizer;
2627
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
@@ -37,12 +38,25 @@
3738
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
3839
import org.springframework.security.web.SecurityFilterChain;
3940
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
41+
import org.springframework.web.cors.CorsConfiguration;
42+
import org.springframework.web.cors.CorsConfigurationSource;
43+
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
4044

4145
@Configuration
4246
@EnableWebSecurity
4347
@EnableMethodSecurity
4448
@NullMarked
4549
public class SecurityConfiguration {
50+
@Bean
51+
public CorsConfigurationSource corsConfigurationSource() {
52+
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
53+
final CorsConfiguration openapi = new CorsConfiguration();
54+
openapi.addAllowedMethod(HttpMethod.GET);
55+
openapi.addAllowedOrigin("*");
56+
source.registerCorsConfiguration("/openapi.yaml", openapi);
57+
return source;
58+
}
59+
4660
@Bean
4761
public PasswordEncoder passwordEncoder() {
4862
return PasswordEncoderFactories.createDelegatingPasswordEncoder();

0 commit comments

Comments
 (0)