Skip to content

Commit de43736

Browse files
authored
Merge pull request #99 from TaskFlow-CLAP/CLAP-133
CLAP-133 cors 설정 추가
2 parents 0408482 + dc0aed6 commit de43736

File tree

7 files changed

+78
-30
lines changed

7 files changed

+78
-30
lines changed

.github/workflows/dev-cd.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,7 @@ jobs:
6262
script: |
6363
docker rm -f taskflow
6464
docker image rm ${{ secrets.DOCKER_REPO }} -f
65-
docker run --name taskflow -d -p 9090:9090 ${{ secrets.DOCKER_REPO }} --restart on-failure
65+
docker run --name taskflow -d -p 9090:9090 \
66+
--env-file /home/ubuntu/.env \
67+
${{ secrets.DOCKER_REPO }} \
68+
--restart on-failure

src/main/java/clap/server/common/properties/PasswordPolicyProperties.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/main/java/clap/server/common/utils/InitialPasswordGenerator.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package clap.server.common.utils;
22

3-
import clap.server.common.properties.PasswordPolicyProperties;
4-
import lombok.RequiredArgsConstructor;
53
import org.springframework.beans.factory.annotation.Value;
6-
import org.springframework.stereotype.Component;
74

85
import java.security.SecureRandom;
96

10-
@RequiredArgsConstructor
117
public class InitialPasswordGenerator {
128

13-
private final PasswordPolicyProperties properties;
9+
@Value("${password.policy.characters}")
10+
private String characters;
11+
12+
private static final int PASSWORD_LENGTH = 8;
1413

1514
private InitialPasswordGenerator() {
1615
throw new IllegalStateException("Utility class");
@@ -24,10 +23,8 @@ public String generateRandomPassword(int length) {
2423
SecureRandom secureRandom = new SecureRandom();
2524
StringBuilder password = new StringBuilder(length);
2625

27-
String characters = properties.getCharacters();
28-
2926
for (int i = 0; i < length; i++) {
30-
int randomIndex = secureRandom.nextInt(properties.getLength());
27+
int randomIndex = secureRandom.nextInt(PASSWORD_LENGTH);
3128
password.append(characters.charAt(randomIndex));
3229
}
3330

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package clap.server.config.security;
2+
3+
import org.springframework.beans.factory.annotation.Value;
4+
import org.springframework.context.annotation.Bean;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.http.HttpHeaders;
7+
import org.springframework.web.cors.CorsConfiguration;
8+
import org.springframework.web.cors.CorsConfigurationSource;
9+
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
10+
11+
import java.util.List;
12+
13+
import static clap.server.common.constants.AuthConstants.SESSION_ID;
14+
15+
@Configuration
16+
public class CorsConfig {
17+
@Value("${server.domain.local}")
18+
private String localServerDomain;
19+
20+
@Value("${server.domain.service}")
21+
private String serviceServerDomain;
22+
23+
@Value("${web.domain.local}")
24+
private String localWebDomain;
25+
26+
@Value("${web.domain.service}")
27+
private String serviceWebDomain;
28+
29+
@Bean
30+
public CorsConfigurationSource corsConfigurationSource() {
31+
CorsConfiguration configuration = new CorsConfiguration();
32+
configuration.setAllowedOrigins(
33+
List.of(localServerDomain, localWebDomain, serviceServerDomain, serviceWebDomain));
34+
configuration.setAllowedMethods(List.of("GET", "POST", "OPTIONS", "PUT", "PATCH", "DELETE"));
35+
configuration.setAllowedHeaders(List.of("*"));
36+
configuration.setExposedHeaders(List.of(HttpHeaders.AUTHORIZATION, SESSION_ID.getValue()));
37+
configuration.setAllowCredentials(true);
38+
configuration.setMaxAge(3600L);
39+
40+
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
41+
source.registerCorsConfiguration("/**", configuration);
42+
return source;
43+
}
44+
45+
}

src/main/resources/application.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,27 @@ spring:
77
- swagger.yml
88
- redis.yml
99
- auth.yml
10+
- elasticsearch.yml
1011
application:
1112
name: taskflow
12-
elasticsearch:
13-
uris: ${ELASTIC_URI:127.0.0.1:9200}
14-
1513
web.resources.add-mappings: false
1614

1715

1816
server:
1917
port: ${APPLICATION_PORT:8080}
2018
tomcat:
21-
max-connections: 20000
19+
max-connections: 10000
2220
threads:
2321
max: 600
2422
min-spare: 100
25-
23+
domain:
24+
local: ${TASKFLOW_LOCAL_SERVER:127.0.0.1:8080}
25+
service: ${TASKFLOW_SERVICE_SERVER:127.0.0.1:8080}
26+
27+
web:
28+
domain:
29+
local: ${TASKFLOW_LOCAL_WEB:127.0.0.1:3O00}
30+
service: ${TASKFLOW_SERVICE_WEB:127.0.0.1:3000}
2631
#logging:
2732
# level:
2833
# root: INFO
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
spring:
2+
elasticsearch:
3+
uris: ${ELASTIC_URI:127.0.0.1:9200}

src/test/resources/application.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@ spring:
1717
testcontainers:
1818
beans:
1919
startup: parallel
20+
server:
21+
domain:
22+
local: 127.0.0.1:8080
23+
service: 127.0.0.1:8080
24+
25+
web:
26+
domain:
27+
local: 127.0.0.1:3O00
28+
service: 127.0.0.1:3000
2029

2130
swagger:
2231
server:
@@ -35,5 +44,6 @@ jwt:
3544
password:
3645
policy:
3746
length: 12
38-
characters: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+"
47+
characters: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+
48+
3949

0 commit comments

Comments
 (0)