Skip to content

Commit 1c7db7c

Browse files
authored
️♻️ refactor: 시큐리티 모듈 분리 (#258)
* ♻️ refactor/#257 * 🐛 fix: db.yml local profile 주석 처리 * ♻️ refactor: ci 파일 수정 * ♻️ refactor: api yml 변경 * 🐛 fix: db.yml local profile 주석 처리
1 parent 7165057 commit 1c7db7c

34 files changed

+122
-140
lines changed

.github/workflows/ci_gradle.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ jobs:
2424
echo "spring:" > application.yml
2525
echo " profiles:" >> application.yml
2626
echo " group:" >> application.yml
27-
echo " "local": "db, s3, email, portone, firebase, secret"" >> application.yml
28-
echo " "prod": "db, s3, redis, email, portone, firebase"" >> application.yml
27+
echo " "prod": "db, s3, redis, email, portone, firebase, security"" >> application.yml
2928
echo " default: prod" >> application.yml
3029
3130
echo " servlet:" >> application.yml
@@ -41,10 +40,10 @@ jobs:
4140
mkdir -p ./core/core-infra-firebase/src/main/resources/firebase
4241
echo $DATA > ./core/core-infra-firebase/src/main/resources/firebase/firebase-key.json
4342
44-
- name: 3) Set prod.yml
43+
- name: 3) application-security.yml
4544
uses: microsoft/variable-substitution@v1
4645
with:
47-
files: ./api/src/main/resources/application-prod.yml
46+
files: ./core/core-infra-security/src/main/resources/application-security.yml
4847
env:
4948
spring.jwt.secret: ${{ secrets.JWT_SECRET }}
5049
spring.jwt.token.access-expiration-time: ${{ secrets.JWT_ACCESS_EXPIRATION_TIME }}

api/build.gradle

+2-16
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,16 @@ dependencies {
77
implementation project(':core:core-infra-email');
88
implementation project(':core:core-infra-portone');
99
implementation project(':core:core-infra-firebase');
10+
implementation project(':core:core-infra-security');
1011

1112
// Core
1213
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
1314

14-
implementation 'org.springframework.boot:spring-boot-starter-web'
15-
implementation 'org.springframework.boot:spring-boot-starter-security'
15+
// implementation 'org.springframework.boot:spring-boot-starter-web'
1616
testImplementation 'org.springframework.boot:spring-boot-starter-test'
1717
testImplementation 'org.springframework.security:spring-security-test'
1818
implementation 'org.slf4j:slf4j-api:2.0.7'
1919

20-
// Lombok
21-
// implementation 'org.projectlombok:lombok:1.18.22'
22-
// annotationProcessor('org.projectlombok:lombok')
23-
// testAnnotationProcessor('org.projectlombok:lombok')
24-
25-
// Jwt
26-
implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
27-
implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
28-
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'
29-
30-
// Swagger
31-
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4'
32-
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-api:2.0.4'
33-
3420
// Validation
3521
implementation 'org.springframework.boot:spring-boot-starter-validation'
3622
}
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package com.sponus.sponusbe.auth.controller;
22

3-
import static com.sponus.sponusbe.auth.jwt.exception.SecurityErrorCode.*;
4-
53
import org.springframework.web.bind.annotation.GetMapping;
64
import org.springframework.web.bind.annotation.RequestHeader;
75
import org.springframework.web.bind.annotation.RequestMapping;
86
import org.springframework.web.bind.annotation.RestController;
97

108
import com.sponus.coredomain.domain.common.ApiResponse;
11-
import com.sponus.sponusbe.auth.jwt.dto.JwtPair;
12-
import com.sponus.sponusbe.auth.jwt.exception.SecurityCustomException;
13-
import com.sponus.sponusbe.auth.jwt.util.JwtUtil;
9+
import com.sponus.coreinfrasecurity.jwt.dto.JwtPair;
10+
import com.sponus.coreinfrasecurity.jwt.util.JwtUtil;
1411

15-
import io.jsonwebtoken.ExpiredJwtException;
1612
import lombok.RequiredArgsConstructor;
1713
import lombok.extern.slf4j.Slf4j;
1814

@@ -26,16 +22,6 @@ public class AuthController {
2622

2723
@GetMapping("/reissue")
2824
public ApiResponse<JwtPair> reissueToken(@RequestHeader("RefreshToken") String refreshToken) {
29-
try {
30-
jwtUtil.validateRefreshToken(refreshToken);
31-
log.info("[*] Valid RefreshToken");
32-
return ApiResponse.onSuccess(
33-
jwtUtil.reissueToken(refreshToken)
34-
);
35-
} catch (IllegalArgumentException iae) {
36-
throw new SecurityCustomException(INVALID_TOKEN, iae);
37-
} catch (ExpiredJwtException eje) {
38-
throw new SecurityCustomException(TOKEN_EXPIRED, eje);
39-
}
25+
return ApiResponse.onSuccess(jwtUtil.reissueToken(refreshToken));
4026
}
4127
}

api/src/main/java/com/sponus/sponusbe/domain/announcement/controller/AnnouncementController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;
1919
import com.sponus.coredomain.domain.common.ApiResponse;
2020
import com.sponus.coredomain.domain.organization.Organization;
21-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
21+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
2222
import com.sponus.sponusbe.domain.announcement.dto.request.AnnouncementCreateRequest;
2323
import com.sponus.sponusbe.domain.announcement.dto.request.AnnouncementUpdateRequest;
2424
import com.sponus.sponusbe.domain.announcement.dto.response.AnnouncementCreateResponse;

api/src/main/java/com/sponus/sponusbe/domain/bookmark/controller/BookmarkController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.sponus.coredomain.domain.bookmark.BookmarkStatus;
1414
import com.sponus.coredomain.domain.common.ApiResponse;
1515
import com.sponus.coredomain.domain.organization.Organization;
16-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
16+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1717
import com.sponus.sponusbe.domain.bookmark.dto.BookmarkGetResponse;
1818
import com.sponus.sponusbe.domain.bookmark.dto.BookmarkToggleRequest;
1919
import com.sponus.sponusbe.domain.bookmark.dto.BookmarkToggleResponse;

api/src/main/java/com/sponus/sponusbe/domain/notification/controller/FirebaseTestController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import com.sponus.coredomain.domain.organization.Organization;
1111
import com.sponus.coreinfrafirebase.FirebaseService;
12-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
12+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1313
import com.sponus.sponusbe.domain.notification.dto.request.NotificationTestRequest;
1414

1515
import lombok.RequiredArgsConstructor;

api/src/main/java/com/sponus/sponusbe/domain/organization/controller/OrganizationController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import com.sponus.coredomain.domain.common.ApiResponse;
1818
import com.sponus.coredomain.domain.organization.Organization;
19-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
19+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
2020
import com.sponus.sponusbe.domain.notification.dto.response.NotificationSummaryResponse;
2121
import com.sponus.sponusbe.domain.organization.dto.OrganizationDetailGetResponse;
2222
import com.sponus.sponusbe.domain.organization.dto.OrganizationJoinRequest;

api/src/main/java/com/sponus/sponusbe/domain/organizationLink/controller/OrganizationLinkController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import com.sponus.coredomain.domain.common.ApiResponse;
1313
import com.sponus.coredomain.domain.organization.Organization;
14-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
14+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1515
import com.sponus.sponusbe.domain.organizationLink.dto.request.OrganizationLinkCreateRequest;
1616
import com.sponus.sponusbe.domain.organizationLink.dto.request.OrganizationLinkUpdateRequest;
1717
import com.sponus.sponusbe.domain.organizationLink.dto.response.OrganizationLinkCreateResponse;

api/src/main/java/com/sponus/sponusbe/domain/propose/controller/ProposeController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import com.sponus.coredomain.domain.common.ApiResponse;
1919
import com.sponus.coredomain.domain.organization.Organization;
20-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
20+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
2121
import com.sponus.sponusbe.domain.propose.dto.request.ProposeCreateRequest;
2222
import com.sponus.sponusbe.domain.propose.dto.request.ProposeStatusUpdateRequest;
2323
import com.sponus.sponusbe.domain.propose.dto.request.ProposeUpdateRequest;

api/src/main/java/com/sponus/sponusbe/domain/report/controller/ReportController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import com.sponus.coredomain.domain.common.ApiResponse;
1616
import com.sponus.coredomain.domain.organization.Organization;
17-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
17+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1818
import com.sponus.sponusbe.domain.report.dto.request.ReportCreateRequest;
1919
import com.sponus.sponusbe.domain.report.dto.request.ReportUpdateRequest;
2020
import com.sponus.sponusbe.domain.report.dto.response.ReportCreateResponse;

api/src/main/java/com/sponus/sponusbe/domain/tag/controller/TagController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import com.sponus.coredomain.domain.common.ApiResponse;
1313
import com.sponus.coredomain.domain.organization.Organization;
14-
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
14+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1515
import com.sponus.sponusbe.domain.tag.dto.TagGetResponse;
1616
import com.sponus.sponusbe.domain.tag.dto.request.TagCreateRequest;
1717
import com.sponus.sponusbe.domain.tag.dto.request.TagUpdateRequest;

api/src/main/resources/application-local.yml

-14
This file was deleted.

api/src/main/resources/application.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ server:
44
spring:
55
profiles:
66
group:
7-
"local": "db, s3, email, portone, firebase, secret"
8-
"prod": "db, s3, redis, email, portone, firebase"
7+
"local": "db, secret"
8+
"prod": "db, s3, redis, email, portone, firebase, security"
99
default: local
1010

1111
servlet:

core/core-infra-security/build.gradle

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
dependencies {
2+
3+
implementation project(':core:core-domain');
4+
implementation project(':core:core-infra-redis');
5+
6+
implementation 'org.springframework.boot:spring-boot-starter-web'
7+
implementation 'org.springframework.boot:spring-boot-starter-security'
8+
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
9+
10+
// Jwt
11+
implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
12+
implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
13+
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'
14+
}
15+
16+
bootJar { enabled = false }
17+
jar { enabled = true }

api/src/main/java/com/sponus/sponusbe/auth/annotation/AuthOrganization.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/annotation/AuthOrganization.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.annotation;
1+
package com.sponus.coreinfrasecurity.annotation;
22

33
import java.lang.annotation.ElementType;
44
import java.lang.annotation.Retention;

api/src/main/java/com/sponus/sponusbe/auth/annotation/AuthOrganizationArgumentResolver.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/annotation/AuthOrganizationArgumentResolver.java

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.annotation;
1+
package com.sponus.coreinfrasecurity.annotation;
22

33
import org.springframework.core.MethodParameter;
44
import org.springframework.security.core.context.SecurityContextHolder;
@@ -11,11 +11,9 @@
1111

1212
import com.sponus.coredomain.domain.organization.Organization;
1313
import com.sponus.coredomain.domain.organization.repository.OrganizationRepository;
14-
import com.sponus.sponusbe.auth.jwt.exception.SecurityCustomException;
15-
import com.sponus.sponusbe.auth.jwt.exception.SecurityErrorCode;
16-
import com.sponus.sponusbe.auth.user.CustomUserDetails;
17-
import com.sponus.sponusbe.domain.organization.exception.OrganizationErrorCode;
18-
import com.sponus.sponusbe.domain.organization.exception.OrganizationException;
14+
import com.sponus.coreinfrasecurity.jwt.exception.SecurityCustomException;
15+
import com.sponus.coreinfrasecurity.jwt.exception.SecurityErrorCode;
16+
import com.sponus.coreinfrasecurity.user.CustomUserDetails;
1917

2018
import lombok.RequiredArgsConstructor;
2119
import lombok.extern.slf4j.Slf4j;
@@ -48,6 +46,6 @@ public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer m
4846
}
4947

5048
return organizationRepository.findById(((CustomUserDetails)userDetails).getId())
51-
.orElseThrow(() -> new OrganizationException(OrganizationErrorCode.ORGANIZATION_NOT_FOUND));
49+
.orElseThrow(() -> new SecurityCustomException(SecurityErrorCode.TOKEN_ORGANIZATION_NOT_FOND));
5250
}
5351
}

api/src/main/java/com/sponus/sponusbe/global/config/CorsConfig.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/config/CorsConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.global.config;
1+
package com.sponus.coreinfrasecurity.config;
22

33
import java.util.ArrayList;
44

api/src/main/java/com/sponus/sponusbe/global/config/SecurityConfig.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/config/SecurityConfig.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.global.config;
1+
package com.sponus.coreinfrasecurity.config;
22

33
import java.util.Arrays;
44
import java.util.stream.Stream;
@@ -17,14 +17,14 @@
1717
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
1818

1919
import com.sponus.coreinfraredis.util.RedisUtil;
20-
import com.sponus.sponusbe.auth.jwt.exception.JwtAccessDeniedHandler;
21-
import com.sponus.sponusbe.auth.jwt.exception.JwtAuthenticationEntryPoint;
22-
import com.sponus.sponusbe.auth.jwt.filter.CustomLoginFilter;
23-
import com.sponus.sponusbe.auth.jwt.filter.CustomLogoutHandler;
24-
import com.sponus.sponusbe.auth.jwt.filter.JwtAuthenticationFilter;
25-
import com.sponus.sponusbe.auth.jwt.filter.JwtExceptionFilter;
26-
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
27-
import com.sponus.sponusbe.auth.jwt.util.JwtUtil;
20+
import com.sponus.coreinfrasecurity.jwt.exception.JwtAccessDeniedHandler;
21+
import com.sponus.coreinfrasecurity.jwt.exception.JwtAuthenticationEntryPoint;
22+
import com.sponus.coreinfrasecurity.jwt.filter.CustomLoginFilter;
23+
import com.sponus.coreinfrasecurity.jwt.filter.CustomLogoutHandler;
24+
import com.sponus.coreinfrasecurity.jwt.filter.JwtAuthenticationFilter;
25+
import com.sponus.coreinfrasecurity.jwt.filter.JwtExceptionFilter;
26+
import com.sponus.coreinfrasecurity.jwt.util.HttpResponseUtil;
27+
import com.sponus.coreinfrasecurity.jwt.util.JwtUtil;
2828

2929
import lombok.RequiredArgsConstructor;
3030

api/src/main/java/com/sponus/sponusbe/global/config/WebMvcConfig.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/config/WebMvcConfig.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package com.sponus.sponusbe.global.config;
1+
package com.sponus.coreinfrasecurity.config;
22

33
import java.util.List;
44

55
import org.springframework.context.annotation.Configuration;
66
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
77
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
88

9-
import com.sponus.sponusbe.auth.annotation.AuthOrganizationArgumentResolver;
9+
import com.sponus.coreinfrasecurity.annotation.AuthOrganizationArgumentResolver;
1010

1111
import lombok.RequiredArgsConstructor;
1212

api/src/main/java/com/sponus/sponusbe/auth/jwt/dto/JwtPair.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/jwt/dto/JwtPair.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.jwt.dto;
1+
package com.sponus.coreinfrasecurity.jwt.dto;
22

33
public record JwtPair(
44
String accessToken,

api/src/main/java/com/sponus/sponusbe/auth/jwt/exception/JwtAccessDeniedHandler.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/jwt/exception/JwtAccessDeniedHandler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.jwt.exception;
1+
package com.sponus.coreinfrasecurity.jwt.exception;
22

33
import java.io.IOException;
44

@@ -7,7 +7,7 @@
77
import org.springframework.security.web.access.AccessDeniedHandler;
88
import org.springframework.stereotype.Component;
99

10-
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
10+
import com.sponus.coreinfrasecurity.jwt.util.HttpResponseUtil;
1111

1212
import jakarta.servlet.http.HttpServletRequest;
1313
import jakarta.servlet.http.HttpServletResponse;

api/src/main/java/com/sponus/sponusbe/auth/jwt/exception/JwtAuthenticationEntryPoint.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/jwt/exception/JwtAuthenticationEntryPoint.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.jwt.exception;
1+
package com.sponus.coreinfrasecurity.jwt.exception;
22

33
import java.io.IOException;
44

@@ -8,7 +8,7 @@
88
import org.springframework.stereotype.Component;
99

1010
import com.sponus.coredomain.domain.common.ApiResponse;
11-
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
11+
import com.sponus.coreinfrasecurity.jwt.util.HttpResponseUtil;
1212

1313
import jakarta.servlet.http.HttpServletRequest;
1414
import jakarta.servlet.http.HttpServletResponse;
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
package com.sponus.sponusbe.auth.jwt.exception;
1+
package com.sponus.coreinfrasecurity.jwt.exception;
22

33
import com.sponus.coredomain.domain.common.BaseErrorCode;
4-
import com.sponus.sponusbe.global.exception.CustomException;
54

65
import lombok.Getter;
76

87
@Getter
9-
public class SecurityCustomException extends CustomException {
8+
public class SecurityCustomException extends RuntimeException {
9+
10+
private final BaseErrorCode errorCode;
1011

1112
private final Throwable cause;
1213

1314
public SecurityCustomException(BaseErrorCode errorCode) {
14-
super(errorCode);
15+
this.errorCode = errorCode;
1516
this.cause = null;
1617
}
1718

1819
public SecurityCustomException(BaseErrorCode errorCode, Throwable cause) {
19-
super(errorCode);
20+
this.errorCode = errorCode;
2021
this.cause = cause;
2122
}
2223
}

api/src/main/java/com/sponus/sponusbe/auth/jwt/exception/SecurityErrorCode.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/jwt/exception/SecurityErrorCode.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.jwt.exception;
1+
package com.sponus.coreinfrasecurity.jwt.exception;
22

33
import org.springframework.http.HttpStatus;
44

@@ -18,6 +18,7 @@ public enum SecurityErrorCode implements BaseErrorCode {
1818
TOKEN_SIGNATURE_ERROR(HttpStatus.UNAUTHORIZED, "SEC4012", "토큰이 위조되었거나 손상되었습니다."),
1919
FORBIDDEN(HttpStatus.FORBIDDEN, "SEC4030", "권한이 없습니다."),
2020
TOKEN_NOT_FOUND(HttpStatus.UNAUTHORIZED, "SEC4041", "토큰이 존재하지 않습니다."),
21+
TOKEN_ORGANIZATION_NOT_FOND(HttpStatus.UNAUTHORIZED, "SEC4042", "존재하지 않는 단체입니다."),
2122
INTERNAL_SECURITY_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "SEC5000", "인증 처리 중 서버 에러가 발생했습니다."),
2223
INTERNAL_TOKEN_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "SEC5001", "토큰 처리 중 서버 에러가 발생했습니다.");
2324

api/src/main/java/com/sponus/sponusbe/auth/jwt/filter/CustomLoginFilter.java core/core-infra-security/src/main/java/com/sponus/coreinfrasecurity/jwt/filter/CustomLoginFilter.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.auth.jwt.filter;
1+
package com.sponus.coreinfrasecurity.jwt.filter;
22

33
import java.io.BufferedReader;
44
import java.io.IOException;
@@ -20,10 +20,10 @@
2020
import com.fasterxml.jackson.databind.ObjectMapper;
2121
import com.sponus.coredomain.domain.common.ApiResponse;
2222
import com.sponus.coreinfraredis.util.RedisUtil;
23-
import com.sponus.sponusbe.auth.jwt.dto.JwtPair;
24-
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
25-
import com.sponus.sponusbe.auth.jwt.util.JwtUtil;
26-
import com.sponus.sponusbe.auth.user.CustomUserDetails;
23+
import com.sponus.coreinfrasecurity.jwt.dto.JwtPair;
24+
import com.sponus.coreinfrasecurity.jwt.util.HttpResponseUtil;
25+
import com.sponus.coreinfrasecurity.jwt.util.JwtUtil;
26+
import com.sponus.coreinfrasecurity.user.CustomUserDetails;
2727

2828
import jakarta.servlet.FilterChain;
2929
import jakarta.servlet.http.HttpServletRequest;

0 commit comments

Comments
 (0)