1313import com .example .ai_tutor .global .payload .ApiResponse ;
1414import com .example .ai_tutor .global .payload .Message ;
1515import lombok .RequiredArgsConstructor ;
16+ import lombok .extern .slf4j .Slf4j ;
1617import org .springframework .http .ResponseEntity ;
1718import org .springframework .security .authentication .AuthenticationManager ;
1819import org .springframework .security .authentication .UsernamePasswordAuthenticationToken ;
2930@ RequiredArgsConstructor
3031@ Service
3132@ Transactional (readOnly = true )
33+ @ Slf4j
3234public class AuthService {
3335
3436 private final CustomTokenProviderService customTokenProviderService ;
@@ -43,22 +45,28 @@ public class AuthService {
4345 @ Transactional
4446 public ResponseEntity <?> refresh (RefreshTokenReq tokenRefreshRequest ){
4547 //1차 검증
46- boolean checkValid = valid (tokenRefreshRequest .getRefreshToken ());
48+ String refreshToken = tokenRefreshRequest .getRefreshToken ().replace ("Bearer " , "" ).trim ();
49+ log .info ("refreshToken : {}" , refreshToken );
50+
51+ boolean checkValid = valid (refreshToken );
4752 DefaultAssert .isAuthentication (checkValid );
53+ log .info ("refresh token 검증 성공" );
4854
49- Token token = tokenRepository .findByRefreshToken (tokenRefreshRequest . getRefreshToken () )
55+ Token token = tokenRepository .findByRefreshToken (refreshToken )
5056 .orElseThrow (InvalidTokenException ::new );
51- Authentication authentication = customTokenProviderService .getAuthenticationByEmail (token .getUserEmail ());
5257
53- //refresh token 정보 값을 업데이트 한다.
58+ Authentication authentication = customTokenProviderService .getAuthenticationByToken (refreshToken );
59+
5460 //시간 유효성 확인
5561 TokenMapping tokenMapping ;
5662
5763 Long expirationTime = customTokenProviderService .getExpiration (tokenRefreshRequest .getRefreshToken ());
5864 if (expirationTime > 0 ){
5965 tokenMapping = customTokenProviderService .refreshToken (authentication , token .getRefreshToken ());
66+ log .info ("refresh token 갱신 성공" );
6067 }else {
6168 tokenMapping = customTokenProviderService .createToken (authentication );
69+ log .info ("refresh token 갱신 실패" );
6270 }
6371
6472 Token updateToken = token .updateRefreshToken (tokenMapping .getRefreshToken ());
@@ -102,7 +110,7 @@ private boolean valid(String refreshToken){
102110 DefaultAssert .isTrue (token .isPresent (), "탈퇴 처리된 회원입니다." );
103111
104112 //3. email 값을 통해 인증값을 불러온다
105- Authentication authentication = customTokenProviderService .getAuthenticationByEmail ( token . get (). getUserEmail () );
113+ Authentication authentication = customTokenProviderService .getAuthenticationByToken ( refreshToken );
106114 DefaultAssert .isTrue (token .get ().getUserEmail ().equals (authentication .getName ()), "사용자 인증에 실패하였습니다." );
107115
108116 return true ;
@@ -114,6 +122,8 @@ public ResponseEntity<?> signIn(SignInReq signInReq, @RequestHeader("Authorizati
114122 // 1. 토큰 파싱
115123 String googleAccessToken = authorizationHeader .replace ("Bearer " , "" ).trim ();
116124
125+ log .info ("signInReq : {}" , signInReq );
126+
117127 UserInfo userInfo = idTokenVerifier .verifyIdToken (googleAccessToken , signInReq .getEmail ());
118128
119129 // 2. ID 토큰 검증 및 사용자 정보 추출
0 commit comments