Skip to content

Commit 3f2887c

Browse files
committed
refactor: 코드 정리
1 parent 8cf1a5e commit 3f2887c

22 files changed

Lines changed: 29 additions & 120 deletions

‎src/main/java/com/ureca/unity/domain/auth/controller/LogoutController.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,10 @@ public void logout(
3131
) {
3232
logoutService.logout(refreshToken);
3333

34-
// 1. 현재 표준 쿠기 (Path=/) 삭제
3534
response.addCookie(
3635
CookieUtils.deleteRefreshTokenCookie(cookieSecure)
3736
);
3837

39-
// 2. 레거시 쿠키(Path=/api/auth)도 삭제 (과거 잔재 청소)
4038
response.addCookie(CookieUtils.deleteRefreshTokenCookie(cookieSecure, "/api/auth", "Lax"));
4139
response.addCookie(CookieUtils.deleteRefreshTokenCookie(cookieSecure, "/api/auth", "Strict"));
4240
}

‎src/main/java/com/ureca/unity/domain/auth/controller/OAuthController.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,9 @@ public OAuthLoginResponse login(
3939
) {
4040
OAuthLoginResult result = oAuthService.login(OAuthProvider.from(provider), code);
4141

42-
// 1. 레거시(/api/auth) 쿠키 제거 (예전 SameSite가 Strict였다면 Strict로 한 번 더)
4342
response.addCookie(CookieUtils.deleteRefreshTokenCookie(cookieSecure, "/api/auth", "Strict"));
4443
response.addCookie(CookieUtils.deleteRefreshTokenCookie(cookieSecure, "/api/auth", "Lax"));
4544

46-
// 2. 정상(/) 쿠키 설정
4745
response.addCookie(
4846
CookieUtils.createRefreshTokenCookie(
4947
result.refreshToken(),

‎src/main/java/com/ureca/unity/domain/auth/dto/OAuthUserInfo.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
@Builder
1010
public class OAuthUserInfo {
1111

12-
private final String provider; // google / naver / kakao
13-
private final String providerId; // OAuth 제공자 고유 ID
14-
private final String email; // nullable 가능
12+
private final String provider;
13+
private final String providerId;
14+
private final String email;
1515
private final String name;
1616
}

‎src/main/java/com/ureca/unity/domain/auth/model/OAuthToken.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
public class OAuthToken {
1111
private Long id;
1212
private Long userId;
13-
private String provider; // google / naver / kakao
13+
private String provider;
1414
private String accessToken;
15-
private String refreshToken; // nullable
16-
private LocalDateTime expiresAt; // nullable
15+
private String refreshToken;
16+
private LocalDateTime expiresAt;
1717
}

‎src/main/java/com/ureca/unity/domain/auth/service/AuthSessionServiceImpl.java‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,30 +29,25 @@ public class AuthSessionServiceImpl implements AuthSessionService {
2929
public MeResponse getMe(HttpServletRequest request) {
3030
String refreshToken = extractRefreshToken(request);
3131

32-
// (1) refresh JWT 서명 + type 검증
3332
Long jwtUserId;
3433
try {
3534
jwtUserId = jwtProvider.getUserId(refreshToken, "refresh");
3635
} catch (JwtException | IllegalArgumentException | CustomException e) {
3736
throw new CustomException(ErrorCode.REFRESH_TOKEN_INVALID);
3837
}
3938

40-
// (2) DB에 저장된 토큰인지 확인
4139
RefreshToken saved = refreshTokenMapper.findByToken(refreshToken)
4240
.orElseThrow(() -> new CustomException(ErrorCode.REFRESH_TOKEN_INVALID));
4341

44-
// (3) 만료 체크
4542
if (saved.getExpiresAt() == null || saved.getExpiresAt().isBefore(Instant.now())) {
4643
refreshTokenMapper.deleteByToken(refreshToken);
4744
throw new CustomException(ErrorCode.REFRESH_TOKEN_EXPIRED);
4845
}
4946

50-
// (4) 토큰의 userId 일치 체크
5147
if (!saved.getUserId().equals(jwtUserId)) {
5248
throw new CustomException(ErrorCode.REFRESH_TOKEN_INVALID);
5349
}
5450

55-
// (5) 유저 조회
5651
User user = userMapper.findById(saved.getUserId())
5752
.orElseThrow(() -> new CustomException(ErrorCode.USER_NOT_FOUND));
5853

‎src/main/java/com/ureca/unity/domain/auth/service/LogoutServiceImpl.java‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public class LogoutServiceImpl implements LogoutService {
1818
@Override
1919
public void logout(String refreshToken) {
2020

21-
// refreshToken 없어도 로그아웃은 성공
2221
if (refreshToken == null || refreshToken.isBlank()) {
2322
log.info("Logout: no refreshToken provided");
2423
return;

‎src/main/java/com/ureca/unity/domain/auth/service/OAuthServiceImpl.java‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ public OAuthLoginResult login(OAuthProvider provider, String authorizationCode)
5656
);
5757
}
5858

59-
// 재가입이면 true, 기존이면 false
6059
return createLoginResult(anyUser.getId(), wasDeleted, provider.value(), tokenInfo);
6160
})
6261
.orElseGet(() -> {

‎src/main/java/com/ureca/unity/domain/auth/service/RefreshTokenServiceImpl.java‎

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,15 @@ public void saveRefreshToken(Long userId, String refreshToken) {
5353
@Override
5454
public TokenResponse refreshAccessToken(HttpServletRequest request,
5555
HttpServletResponse response) {
56-
57-
// 1. Cookie에서 refreshToken 추출
5856
String refreshToken = extractRefreshToken(request);
5957

60-
// 1-1. JWT 서명 검증 (DB 조회 전)
6158
Long jwtUserId;
6259
try {
6360
jwtUserId = jwtProvider.getUserId(refreshToken, "refresh");
6461
} catch (JwtException | IllegalArgumentException | CustomException e) {
6562
throw new CustomException(ErrorCode.REFRESH_TOKEN_INVALID);
6663
}
6764

68-
// 2. DB 조회
6965
RefreshToken savedToken = refreshTokenMapper.findByToken(refreshToken)
7066
.orElseThrow(() ->
7167
new CustomException(ErrorCode.REFRESH_TOKEN_INVALID)
@@ -75,10 +71,8 @@ public TokenResponse refreshAccessToken(HttpServletRequest request,
7571
throw new CustomException(ErrorCode.REFRESH_TOKEN_INVALID);
7672
}
7773

78-
// 3. 만료 체크
7974
if (savedToken.getExpiresAt().isBefore(Instant.now())) {
80-
// 만료된 토큰은 즉시 삭제 후 예외 반환 (rotation 로직 미진입)
81-
refreshTokenMapper.deleteByToken(refreshToken); // 만료 토큰 정리
75+
refreshTokenMapper.deleteByToken(refreshToken);
8276
throw new CustomException(ErrorCode.REFRESH_TOKEN_EXPIRED);
8377
}
8478

@@ -88,30 +82,21 @@ public TokenResponse refreshAccessToken(HttpServletRequest request,
8882
throw new CustomException(ErrorCode.REFRESH_TOKEN_INVALID);
8983
}
9084

91-
// 4. 기존 refreshToken 폐기 (Rotation 로직 진입)
9285
int deletedCount = refreshTokenMapper.deleteByToken(refreshToken);
9386
if (deletedCount == 0) {
9487
throw new CustomException(ErrorCode.REFRESH_TOKEN_INVALID);
9588
}
9689

97-
// 5. 새 Access + Refresh 발급
9890
TokenResponse accessToken = jwtIssuer.issueAccessToken(userId);
99-
100-
// 6. 새 refreshToken 발급
10191
String newRefreshToken = jwtIssuer.issueRefreshToken(userId);
102-
103-
// 7. DB 저장
10492
saveRefreshToken(userId, newRefreshToken);
105-
106-
// 8. 새 refreshToken 쿠키 설정
10793
response.addCookie(CookieUtils.createRefreshTokenCookie(
10894
newRefreshToken,
10995
jwtProperties.refreshExpirationSeconds(),
11096
cookieSecure
11197
)
11298
);
11399

114-
// 9. accessToken만 반환
115100
return accessToken;
116101
}
117102

‎src/main/java/com/ureca/unity/domain/auth/service/oauth/GoogleOAuthClient.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class GoogleOAuthClient implements OAuthClient {
3838

3939
@Override
4040
public OAuthAuthResult authenticate(String authorizationCode) {
41-
Map<String, Object> token = getTokenResponse(authorizationCode); // access/refresh/expires_in
41+
Map<String, Object> token = getTokenResponse(authorizationCode);
4242

4343
String accessToken = token.get("access_token").toString();
4444
String refreshToken = token.get("refresh_token") != null ? String.valueOf(token.get("refresh_token")) : null;
@@ -48,7 +48,6 @@ public OAuthAuthResult authenticate(String authorizationCode) {
4848
expiresIn = Long.valueOf(String.valueOf(token.get("expires_in")));
4949
} catch (NumberFormatException e) {
5050
log.warn("Google token response has non-numeric expires_in: {}", token.get("expires_in"));
51-
// expires_in 파싱 실패 시 null로 처리
5251
}
5352
}
5453

‎src/main/java/com/ureca/unity/domain/call/service/RecordingServiceImpl.java‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public class RecordingServiceImpl implements RecordingService {
4040
private final CounselingResultMapper sttMapper;
4141
private final SummaryMapper summaryMapper;
4242

43-
//@Value 주입이 완료된 후, 호출 시점에 WebClient 빌드
4443
private WebClient getWebClient() {
4544
String authStr = customerId + ":" + customerSecret;
4645
String auth = Base64.getEncoder().encodeToString(authStr.getBytes());
@@ -55,7 +54,6 @@ private WebClient getWebClient() {
5554
@Override
5655
public String acquire(String channelName, String uid) {
5756
log.info("[Agora] Acquire 요청 시작 - channel: {}, uid: {}", channelName, uid);
58-
// 전체 Body
5957
Map<String, Object> body = Map.of(
6058
"cname",channelName,
6159
"uid", uid,
@@ -165,10 +163,10 @@ public void stop(String resourceId, String sid, String channelName, String uid,
165163
throw new CustomException(ErrorCode.INTERNAL_SERVER_ERROR);
166164
}
167165

168-
//s3의 파일->wav로 변경->stt
166+
//s3 파일->wav로 변경->stt
169167
CompletableFuture.runAsync(() -> {
170168
try {
171-
Thread.sleep(10000); //TODO:차후 lambda로 호출되면 동작하도록 개선
169+
Thread.sleep(10000); //차후 lambda로 호출되면 동작하도록 개선
172170
String m3u8Url = String.format("https://%s.s3.ap-northeast-2.amazonaws.com/recordings/%s/%s_%s.m3u8",
173171
s3Bucket, channelName, sid, channelName);
174172
log.info("변환 시작: {}", m3u8Url);

0 commit comments

Comments
 (0)