From bba792a6f2411f184f27b2479deaec5e6ccf7559 Mon Sep 17 00:00:00 2001 From: KyungMin Lee Date: Mon, 19 Feb 2024 14:22:35 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[FIX]=20OAuth2=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=84=B1=EA=B3=B5=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=EB=B0=98=ED=99=98=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/auth/oauth/OAuth2AuthenticationSuccessHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/oeid/mogakgo/domain/auth/oauth/OAuth2AuthenticationSuccessHandler.java b/src/main/java/io/oeid/mogakgo/domain/auth/oauth/OAuth2AuthenticationSuccessHandler.java index fe14cc3f..e089f4e6 100644 --- a/src/main/java/io/oeid/mogakgo/domain/auth/oauth/OAuth2AuthenticationSuccessHandler.java +++ b/src/main/java/io/oeid/mogakgo/domain/auth/oauth/OAuth2AuthenticationSuccessHandler.java @@ -43,6 +43,6 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo authentication = new JwtAuthenticationToken(oAuth2User, null, oAuth2User.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(authentication); - response.sendRedirect("/oauth/login/success"); + response.sendRedirect("/oauth2/login/success"); } } From 781af20c6b93d0055bf1ceb64312fe3b80977526 Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:26:49 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[FIX]=20cors=20=EB=AF=B8=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/oeid/mogakgo/core/configuration/SecurityConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java index 43579dec..9c6286af 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java @@ -71,6 +71,7 @@ public SecurityFilterChain filterChainOAuth2(HttpSecurity http) throws Exception private void configureCommonSecuritySettings(HttpSecurity httpSecurity) throws Exception { httpSecurity .httpBasic(AbstractHttpConfigurer::disable) + .cors(AbstractHttpConfigurer::disable) .csrf(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) .rememberMe(AbstractHttpConfigurer::disable) From ab97c06382732aa0a971de31b9dbdf022a2ef585 Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:39:24 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[FIX]=20cors=20=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogakgo/core/configuration/SecurityConfig.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java index 9c6286af..88cab87c 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java @@ -5,6 +5,7 @@ import io.oeid.mogakgo.domain.auth.jwt.JwtAuthenticationFilter; import io.oeid.mogakgo.domain.auth.oauth.GithubOAuth2UserService; import io.oeid.mogakgo.domain.auth.oauth.OAuth2AuthenticationSuccessHandler; +import java.util.Collections; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -17,6 +18,7 @@ import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.web.cors.CorsConfiguration; @EnableWebSecurity @Configuration @@ -44,6 +46,15 @@ public SecurityConfig(GithubOAuth2UserService oAuth2UserService, SecurityFilterChain filterChainApi(HttpSecurity http) throws Exception { configureCommonSecuritySettings(http); return http + .cors(corsCustomizer -> corsCustomizer.configurationSource(request -> { + CorsConfiguration config = new CorsConfiguration(); + config.setAllowedOrigins(Collections.singletonList("*")); + config.setAllowedMethods(Collections.singletonList("*")); + config.setAllowCredentials(true); + config.setAllowedHeaders(Collections.singletonList("*")); + config.setMaxAge(3600L); //1시간 + return config; + })) .securityMatchers(matchers -> matchers.requestMatchers("/api/**")) .sessionManagement( management -> management.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) @@ -71,7 +82,6 @@ public SecurityFilterChain filterChainOAuth2(HttpSecurity http) throws Exception private void configureCommonSecuritySettings(HttpSecurity httpSecurity) throws Exception { httpSecurity .httpBasic(AbstractHttpConfigurer::disable) - .cors(AbstractHttpConfigurer::disable) .csrf(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) .rememberMe(AbstractHttpConfigurer::disable) From 5d32956c05003828503db7156f42b1989b2d95bf Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:46:40 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[FIX]=20cors=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/configuration/SecurityConfig.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java index 88cab87c..921a7624 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java @@ -5,7 +5,6 @@ import io.oeid.mogakgo.domain.auth.jwt.JwtAuthenticationFilter; import io.oeid.mogakgo.domain.auth.oauth.GithubOAuth2UserService; import io.oeid.mogakgo.domain.auth.oauth.OAuth2AuthenticationSuccessHandler; -import java.util.Collections; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -19,6 +18,8 @@ import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.CorsConfigurationSource; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; @EnableWebSecurity @Configuration @@ -46,15 +47,6 @@ public SecurityConfig(GithubOAuth2UserService oAuth2UserService, SecurityFilterChain filterChainApi(HttpSecurity http) throws Exception { configureCommonSecuritySettings(http); return http - .cors(corsCustomizer -> corsCustomizer.configurationSource(request -> { - CorsConfiguration config = new CorsConfiguration(); - config.setAllowedOrigins(Collections.singletonList("*")); - config.setAllowedMethods(Collections.singletonList("*")); - config.setAllowCredentials(true); - config.setAllowedHeaders(Collections.singletonList("*")); - config.setMaxAge(3600L); //1시간 - return config; - })) .securityMatchers(matchers -> matchers.requestMatchers("/api/**")) .sessionManagement( management -> management.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) @@ -67,6 +59,20 @@ SecurityFilterChain filterChainApi(HttpSecurity http) throws Exception { .build(); } + @Bean + public CorsConfigurationSource corsConfigurationSource() { + CorsConfiguration configuration = new CorsConfiguration(); + + configuration.addAllowedOrigin("*"); + configuration.addAllowedHeader("*"); + configuration.addAllowedMethod("*"); + configuration.setAllowCredentials(true); + + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", configuration); + return source; + } + @Bean public SecurityFilterChain filterChainOAuth2(HttpSecurity http) throws Exception { configureCommonSecuritySettings(http); @@ -81,6 +87,7 @@ public SecurityFilterChain filterChainOAuth2(HttpSecurity http) throws Exception private void configureCommonSecuritySettings(HttpSecurity httpSecurity) throws Exception { httpSecurity + .cors(cors -> cors.configurationSource(corsConfigurationSource())) .httpBasic(AbstractHttpConfigurer::disable) .csrf(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) From 456bcd5afaa3c99de0bf273c59c66babf38b1d92 Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:52:27 +0900 Subject: [PATCH 5/9] =?UTF-8?q?[FIX]=20cors=20=EC=84=A4=EC=A0=95=EC=9D=84?= =?UTF-8?q?=20=EC=9C=84=ED=95=9C=20=ED=97=A4=EB=8D=94=20=EC=9D=B8=EC=8B=9D?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/oeid/mogakgo/core/configuration/SecurityConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java index 921a7624..a6666f83 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java @@ -92,8 +92,8 @@ private void configureCommonSecuritySettings(HttpSecurity httpSecurity) throws E .csrf(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) .rememberMe(AbstractHttpConfigurer::disable) - .logout(AbstractHttpConfigurer::disable) - .headers(AbstractHttpConfigurer::disable); + .logout(AbstractHttpConfigurer::disable); +// .headers(AbstractHttpConfigurer::disable); } } From 5c28f834f40d19644fbc43218173699b8ad4e0b2 Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Mon, 19 Feb 2024 18:03:01 +0900 Subject: [PATCH 6/9] =?UTF-8?q?[FIX]=20docs=20=EB=B0=98=EC=98=81=20cors=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B3=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogakgo/core/configuration/SecurityConfig.java | 10 ++++++---- .../oeid/mogakgo/core/configuration/WebMvcConfig.java | 8 ++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java index a6666f83..d0cd976d 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/SecurityConfig.java @@ -5,6 +5,8 @@ import io.oeid.mogakgo.domain.auth.jwt.JwtAuthenticationFilter; import io.oeid.mogakgo.domain.auth.oauth.GithubOAuth2UserService; import io.oeid.mogakgo.domain.auth.oauth.OAuth2AuthenticationSuccessHandler; +import java.util.Arrays; +import java.util.List; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -63,10 +65,10 @@ SecurityFilterChain filterChainApi(HttpSecurity http) throws Exception { public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); - configuration.addAllowedOrigin("*"); - configuration.addAllowedHeader("*"); - configuration.addAllowedMethod("*"); - configuration.setAllowCredentials(true); + configuration.setAllowedOrigins(Arrays.asList("*")); + configuration.setAllowedMethods(Arrays.asList("GET","POST","PUT","DELETE","PATCH","OPTIONS")); + configuration.setAllowedHeaders(Arrays.asList("*")); +// configuration.setAllowCredentials(true); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", configuration); diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java index 1d83fef2..f1feb481 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java @@ -4,13 +4,21 @@ import java.util.List; import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration +@EnableWebMvc public class WebMvcConfig implements WebMvcConfigurer { @Override public void addArgumentResolvers(List resolvers) { resolvers.add(new UserIdAnnotationResolver()); } + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**"); + } } From ef9b0f0d67e4f7d51f7025a3d3b09ca44e0998cd Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Tue, 20 Feb 2024 22:47:36 +0900 Subject: [PATCH 7/9] =?UTF-8?q?[FIX]=20=EB=8F=99=EB=84=A4=EC=9D=B8?= =?UTF-8?q?=EC=A6=9D=20=EC=97=AD=EC=A7=81=EB=A0=AC=ED=99=94=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=ED=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cert/presentation/dto/req/UserRegionCertAPIReq.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/domain/cert/presentation/dto/req/UserRegionCertAPIReq.java b/src/main/java/io/oeid/mogakgo/domain/cert/presentation/dto/req/UserRegionCertAPIReq.java index 4c7178d2..7a5a412f 100644 --- a/src/main/java/io/oeid/mogakgo/domain/cert/presentation/dto/req/UserRegionCertAPIReq.java +++ b/src/main/java/io/oeid/mogakgo/domain/cert/presentation/dto/req/UserRegionCertAPIReq.java @@ -2,19 +2,22 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; +import lombok.AccessLevel; import lombok.Getter; +import lombok.NoArgsConstructor; @Schema(description = "사용자가 해당 코드에 해당하는 서비스 지역의 동네 인증을 요청") @Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) public class UserRegionCertAPIReq { @Schema(description = "동네 인증을 요청한 사용자 ID", example = "2", implementation = Long.class) @NotNull - private final Long userId; + private Long userId; @Schema(description = "동네 인증을 요청하는 서비스 지역의 법정구역코드", example = "11110", implementation = Integer.class) @NotNull - private final Integer areaCode; + private Integer areaCode; private UserRegionCertAPIReq(Long userId, Integer areaCode) { this.userId = userId; From 3ca42444368882ca5c30619178af4e348bc7bc1c Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Tue, 20 Feb 2024 23:58:45 +0900 Subject: [PATCH 8/9] =?UTF-8?q?[FIX]=20@EnableWebMvc=20=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B8=ED=95=9C=20=EC=97=AD=EC=A7=81=EB=A0=AC=ED=99=94=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=EB=A1=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/oeid/mogakgo/core/configuration/WebMvcConfig.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java b/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java index f1feb481..72bfac05 100644 --- a/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java +++ b/src/main/java/io/oeid/mogakgo/core/configuration/WebMvcConfig.java @@ -4,21 +4,14 @@ import java.util.List; import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration -@EnableWebMvc public class WebMvcConfig implements WebMvcConfigurer { @Override public void addArgumentResolvers(List resolvers) { resolvers.add(new UserIdAnnotationResolver()); } - - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**"); - } } From f22c1f42d06cf677aa60a7958f60f646b10132da Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Wed, 21 Feb 2024 00:00:25 +0900 Subject: [PATCH 9/9] =?UTF-8?q?[CHORE]=20.DS=5Fstore=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5e77ea8b..0cf4d0ad 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ build/ !gradle/wrapper/gradle-wrapper.jar !**/src/main/**/build/ !**/src/test/**/build/ +.DS_Store ### STS ### .apt_generated @@ -38,4 +39,4 @@ out/ ### application.yml ### application*.yml -firebase*.json \ No newline at end of file +firebase*.json