Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package clap.server.common.properties;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Getter
@Setter
@Component
@RequiredArgsConstructor
@ConfigurationProperties(prefix = "password.policy")
public class PasswordPolicyProperties {
private String characters;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package clap.server.common.properties;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Getter
@RequiredArgsConstructor
@ConfigurationProperties(prefix = "server.domain")
public class ServerDomainProperties {
private final String local;
private final String service;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package clap.server.common.properties;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Getter
@RequiredArgsConstructor
@ConfigurationProperties(prefix = "web.domain")
public class WebDomainProperties {
private final String local;
private final String service;
}
16 changes: 16 additions & 0 deletions src/main/java/clap/server/config/properties/PropertiesConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package clap.server.config.properties;

import clap.server.common.properties.PasswordPolicyProperties;
import clap.server.common.properties.ServerDomainProperties;
import clap.server.common.properties.WebDomainProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableConfigurationProperties({
ServerDomainProperties.class,
WebDomainProperties.class,
PasswordPolicyProperties.class
})
public class PropertiesConfig {
}
40 changes: 40 additions & 0 deletions src/main/java/clap/server/config/security/CorsConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package clap.server.config.security;

import clap.server.common.properties.ServerDomainProperties;
import clap.server.common.properties.WebDomainProperties;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

import java.util.List;

import static clap.server.common.constants.AuthConstants.SESSION_ID;

@Configuration
@RequiredArgsConstructor
public class CorsConfig {
private final ServerDomainProperties serverDomainProperties;
private final WebDomainProperties webDomainProperties;

@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(
List.of(serverDomainProperties.getLocal(), serverDomainProperties.getService(),
webDomainProperties.getLocal(), webDomainProperties.getService()));
configuration.setAllowedMethods(List.of("GET", "POST", "OPTIONS", "PUT", "PATCH", "DELETE"));
configuration.setAllowedHeaders(List.of("*"));
configuration.setExposedHeaders(List.of(HttpHeaders.AUTHORIZATION, SESSION_ID.getValue()));
configuration.setAllowCredentials(true);
configuration.setMaxAge(3600L);

UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}

}
15 changes: 10 additions & 5 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,27 @@ spring:
- swagger.yml
- redis.yml
- auth.yml
- elasticsearch.yml
application:
name: taskflow
elasticsearch:
uris: ${ELASTIC_URI:127.0.0.1:9200}

web.resources.add-mappings: false


server:
port: ${APPLICATION_PORT:8080}
tomcat:
max-connections: 20000
max-connections: 10000
threads:
max: 600
min-spare: 100

domain:
local: ${TASKFLOW_LOCAL_SERVER:127.0.0.1:8080}
service: ${TASKFLOW_SERVICE_SERVER:127.0.0.1:8080}

web:
domain:
local: ${TASKFLOW_LOCAL_WEB:127.0.0.1:3O00}
service: ${TASKFLOW_SERVICE_WEB:127.0.0.1:3000}
#logging:
# level:
# root: INFO
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/elasticsearch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
spring:
elasticsearch:
uris: ${ELASTIC_URI:127.0.0.1:9200}
12 changes: 11 additions & 1 deletion src/test/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ spring:
testcontainers:
beans:
startup: parallel
server:
domain:
local: 127.0.0.1:8080
service: 127.0.0.1:8080

web:
domain:
local: 127.0.0.1:3O00
service: 127.0.0.1:3000

swagger:
server:
Expand All @@ -35,5 +44,6 @@ jwt:
password:
policy:
length: 12
characters: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+"
characters: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+