diff --git a/src/main/java/com/bamboo/log/common/config/CorsMvcConfig.java b/src/main/java/com/bamboo/log/common/config/CorsMvcConfig.java index 38df386..311084f 100644 --- a/src/main/java/com/bamboo/log/common/config/CorsMvcConfig.java +++ b/src/main/java/com/bamboo/log/common/config/CorsMvcConfig.java @@ -9,10 +9,11 @@ public class CorsMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry corsRegistry) { - corsRegistry.addMapping("/**") - .exposedHeaders("Set-Cookie") - //프론트 url 넣기 - .allowedOrigins("http://localhost:3000"); + .allowedOrigins("*") // 모든 Origin 허용 + .allowedMethods("*") // 모든 HTTP 메서드 허용 + .allowedHeaders("*") // 모든 헤더 허용 + .allowCredentials(true) // 쿠키 허용 + .exposedHeaders("Set-Cookie"); } -} \ No newline at end of file +} diff --git a/src/main/java/com/bamboo/log/common/config/SecurityConfig.java b/src/main/java/com/bamboo/log/common/config/SecurityConfig.java index d40a6fe..b899dcc 100644 --- a/src/main/java/com/bamboo/log/common/config/SecurityConfig.java +++ b/src/main/java/com/bamboo/log/common/config/SecurityConfig.java @@ -52,8 +52,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers("/refresh").permitAll() .requestMatchers("/logout").hasAnyRole("USER") .requestMatchers("/swagger-ui/**","/v3/api-docs/**","/swagger-resources/**","/webjars/**").permitAll() - .requestMatchers("/api/images/**").hasAnyRole("USER") - .anyRequest().authenticated()); + .anyRequest().hasAnyRole("USER")); http.sessionManagement((session) -> session diff --git a/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomFailureHandler.java b/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomFailureHandler.java index da4890c..492f364 100644 --- a/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomFailureHandler.java +++ b/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomFailureHandler.java @@ -14,6 +14,6 @@ public class CustomFailureHandler extends SimpleUrlAuthenticationFailureHandler @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { - response.sendRedirect("http://localhost:3000"); + response.sendRedirect("http://localhost:3000/login"); } } \ No newline at end of file diff --git a/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomSuccessHandler.java b/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomSuccessHandler.java index f82af92..4dbab0a 100644 --- a/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomSuccessHandler.java +++ b/src/main/java/com/bamboo/log/domain/user/oauth/service/CustomSuccessHandler.java @@ -42,7 +42,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo addRefreshEntity(name, username, refreshToken, 1209600000L); response.addCookie(createCookie("refresh", refreshToken)); response.addCookie(UnScretCreateCookie("access", accessToken)); - response.sendRedirect("http://localhost:3000/"); + response.sendRedirect("http://localhost:3000/welcome"); } private Cookie createCookie(String key, String value) { diff --git a/src/main/resources/application.txt b/src/main/resources/application.txt new file mode 100644 index 0000000..4f0ed06 --- /dev/null +++ b/src/main/resources/application.txt @@ -0,0 +1,44 @@ + +spring: + datasource: + url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_NAME} + username: ${MYSQL_USERNAME} + password: ${MYSQL_PASSWORD} + driver-class-name: com.mysql.cj.jdbc.Driver + jpa: + show-sql: true + open-in-view: false + hibernate: + ddl-auto: update + properties: + hibernate.dialect: org.hibernate.dialect.MySQL8Dialect + security: + oauth2: + client: + registration: + kakao: + client-authentication-method: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_AUTHENTICATION_METHOD} + client-name: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_NAME} + client-id: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_ID} + client-secret: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_SECRET} + redirect-uri: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_REDIRECT_URI} + authorization-grant-type: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_AUTHORIZATION_GRANT_TYPE} + scope: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_SCOPE} + provider: + kakao: + authorization-uri: ${SECURITY_OAUTH2_PROVIDER_KAKAO_AUTHORIZATION_URI} + token-uri: ${SECURITY_OAUTH2_PROVIDER_KAKAO_TOKEN_URI} + user-info-uri: ${SECURITY_OAUTH2_PROVIDER_KAKAO_USER_INFO_URI} + user-name-attribute: ${SECURITY_OAUTH2_PROVIDER_KAKAO_USER_NAME_ATTRIBUTE} + jwt: + secret: ${JWT_SECRET} +elice: + api: + token: ${API_TOKEN} + url: + face: ${FACE_URL} + img: ${IMG_URL} + chat: ${CHAT_URL} +emotion: + api: + url: ${EMOTION_URL} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 3ab1365..5b9161e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,10 +1,8 @@ -# application.yml - spring: datasource: - url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_NAME} - username: ${MYSQL_USERNAME} - password: ${MYSQL_PASSWORD} + url: jdbc:mysql://localhost:3306/OAuth2?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true + username: root + password: heodongun0922 driver-class-name: com.mysql.cj.jdbc.Driver jpa: show-sql: true @@ -18,28 +16,32 @@ spring: client: registration: kakao: - client-authentication-method: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_AUTHENTICATION_METHOD} - client-name: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_NAME} - client-id: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_ID} - client-secret: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_SECRET} - redirect-uri: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_REDIRECT_URI} - authorization-grant-type: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_AUTHORIZATION_GRANT_TYPE} - scope: ${SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_SCOPE} + client-authentication-method: client_secret_post + client-name: kakao + client-id: 649c1e34aedc1a7db892333d900725f2 + client-secret: FqJEAF5XKaO0n4Bv3KVXWCpUcHQWahY8 + redirect-uri: http://localhost:8080/login/oauth2/code/kakao + authorization-grant-type: authorization_code + scope: + - profile_nickname + - account_email provider: kakao: - authorization-uri: ${SECURITY_OAUTH2_PROVIDER_KAKAO_AUTHORIZATION_URI} - token-uri: ${SECURITY_OAUTH2_PROVIDER_KAKAO_TOKEN_URI} - user-info-uri: ${SECURITY_OAUTH2_PROVIDER_KAKAO_USER_INFO_URI} - user-name-attribute: ${SECURITY_OAUTH2_PROVIDER_KAKAO_USER_NAME_ATTRIBUTE} + authorization-uri: https://kauth.kakao.com/oauth/authorize + token-uri: https://kauth.kakao.com/oauth/token + user-info-uri: https://kapi.kakao.com/v2/user/me + user-name-attribute: id jwt: - secret: ${JWT_SECRET} + secret: vmfhaltmskdlstkfkdgodyroqkfwkdbalroqkfwkdbalaaaaaaaaaaaaaaaabbbbb + elice: api: - token: ${API_TOKEN} + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NDA1NDYyMjgsIm5iZiI6MTc0MDU0NjIyOCwiZXhwIjoxNzUwNDYzOTk5LCJrZXlfaWQiOiJjYzI2YjZjMi0zNWExLTQ0NmEtODhkYS02ZjdkZGExNDMzYWMifQ.tqRvmEibKaRZUJK9m7pp7ZOWsdzy2rGg8YxjQ1MrSDk url: - face: ${FACE_URL} - img: ${IMG_URL} - chat: ${CHAT_URL} + face: https://api-cloud-function.elice.io/d5ff1aef-c59f-433c-8e1c-f9b52ac4ab6a/predict + img: https://api-cloud-function.elice.io/0133c2f7-9f3f-44b6-a3d6-c24ba8ef4510/generate + chat: null + emotion: api: - url: ${EMOTION_URL} \ No newline at end of file + url: null