Skip to content

Commit a7d7e85

Browse files
committed
feat: add ProfileUtil for managing active profiles and update cookie security based on environment
1 parent c949ba0 commit a7d7e85

3 files changed

Lines changed: 47 additions & 2 deletions

File tree

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
package life.mosu.mosuserver;
22

3+
import life.mosu.mosuserver.global.util.ProfileUtil;
4+
import lombok.extern.slf4j.Slf4j;
5+
import org.springframework.boot.CommandLineRunner;
36
import org.springframework.boot.SpringApplication;
47
import org.springframework.boot.autoconfigure.SpringBootApplication;
58

69
@SpringBootApplication
7-
public class MosuServerApplication {
10+
@Slf4j
11+
public class MosuServerApplication implements CommandLineRunner {
812

913
public static void main(String[] args) {
1014
SpringApplication.run(MosuServerApplication.class, args);
1115
}
16+
17+
@Override
18+
public void run(String... args) throws Exception {
19+
log.info("Active Profiles: {}", (Object) ProfileUtil.getActiveProfilesStatic());
20+
log.info("profile : {}", ProfileUtil.isProfileActiveStatic("prod"));
21+
log.info("profile : {}", ProfileUtil.isProfileActiveStatic("test"));
22+
}
1223
}

src/main/java/life/mosu/mosuserver/global/util/CookieBuilderUtil.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,10 @@ public static String createLocalCookieString(String name, String value, Long max
6464
*/
6565
public static ResponseCookie createDevelopResponseCookie(String name, String value,
6666
Long maxAge) {
67+
boolean isProd = ProfileUtil.isProfileActiveStatic("prod");
68+
6769
return createBaseResponseCookieBuilder(name, value, maxAge)
68-
.secure(true)
70+
.secure(isProd)
6971
.domain(".mosuedu.com")
7072
.sameSite("Strict")
7173
.build();
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package life.mosu.mosuserver.global.util;
2+
3+
import org.springframework.beans.BeansException;
4+
import org.springframework.context.ApplicationContext;
5+
import org.springframework.context.ApplicationContextAware;
6+
import org.springframework.core.env.Environment;
7+
import org.springframework.stereotype.Component;
8+
9+
@Component
10+
public class ProfileUtil implements ApplicationContextAware {
11+
12+
private static Environment environment;
13+
14+
public static String[] getActiveProfilesStatic() {
15+
return environment.getActiveProfiles();
16+
}
17+
18+
public static boolean isProfileActiveStatic(String profile) {
19+
for (String active : environment.getActiveProfiles()) {
20+
if (active.equals(profile)) {
21+
return true;
22+
}
23+
}
24+
return false;
25+
}
26+
27+
@Override
28+
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
29+
environment = applicationContext.getEnvironment();
30+
}
31+
}
32+

0 commit comments

Comments
 (0)