Skip to content

Commit 31bc387

Browse files
committed
chore: revokeToken 로그 추가
1 parent 0dadcba commit 31bc387

2 files changed

Lines changed: 39 additions & 6 deletions

File tree

src/main/java/apptive/team5/oauth2/component/AppleApiConnector.java

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import org.springframework.util.LinkedMultiValueMap;
1414
import org.springframework.util.MultiValueMap;
1515
import org.springframework.web.client.RestClient;
16+
import org.springframework.web.client.RestClientException;
17+
import org.springframework.web.client.RestClientResponseException;
1618

1719
import java.security.PublicKey;
1820
import java.util.Map;
@@ -60,12 +62,28 @@ public AppleTokenResponse getAppleRefreshToken(String authorizationCode) {
6062
public void revokeToken(String refreshToken) {
6163
MultiValueMap<String, String> body = getRevokeTokenBody(refreshToken);
6264

63-
restClient.post()
64-
.uri(appleRevokeUrl)
65-
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
66-
.body(body)
67-
.retrieve()
68-
.toBodilessEntity();
65+
try {
66+
log.info("Apple revoke request started. token={}", maskToken(refreshToken));
67+
68+
restClient.post()
69+
.uri(appleRevokeUrl)
70+
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
71+
.body(body)
72+
.retrieve()
73+
.toBodilessEntity();
74+
75+
log.info("Apple revoke request succeeded. token={}", maskToken(refreshToken));
76+
} catch (RestClientResponseException e) {
77+
log.error("Apple revoke request failed. status={}, responseBody={}, token={}",
78+
e.getStatusCode().value(),
79+
e.getResponseBodyAsString(),
80+
maskToken(refreshToken),
81+
e);
82+
throw e;
83+
} catch (RestClientException e) {
84+
log.error("Apple revoke request failed without response. token={}", maskToken(refreshToken), e);
85+
throw e;
86+
}
6987
}
7088

7189
public Claims verifyIdentityToken(String identityToken) {
@@ -121,5 +139,15 @@ private MultiValueMap<String, String> getCreateTokenBody(String authorizationCod
121139
return body;
122140
}
123141

142+
private String maskToken(String token) {
143+
if (token == null || token.isBlank()) {
144+
return "EMPTY";
145+
}
146+
if (token.length() <= 8) {
147+
return "****";
148+
}
149+
return token.substring(0, 4) + "..." + token.substring(token.length() - 4);
150+
}
151+
124152

125153
}

src/main/java/apptive/team5/user/service/UserService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import apptive.team5.user.dto.UserTagUpdateRequest;
2929
import apptive.team5.user.util.TagGenerator;
3030
import lombok.RequiredArgsConstructor;
31+
import lombok.extern.slf4j.Slf4j;
3132
import org.springframework.data.domain.Page;
3233
import org.springframework.data.domain.Pageable;
3334
import org.springframework.stereotype.Service;
@@ -39,6 +40,7 @@
3940

4041
@Transactional
4142
@Service
43+
@Slf4j
4244
@RequiredArgsConstructor
4345
public class UserService {
4446

@@ -93,9 +95,11 @@ public UserResponse getUserInfo(Long userId) {
9395
public void deleteUser(Long userId) {
9496

9597
UserEntity findUser = userLowService.findById(userId);
98+
log.info("User deletion started. userId={}, socialType={}", userId, findUser.getSocialType());
9699

97100
if (findUser.getSocialType().equals(SocialType.APPLE)) {
98101
AppleRefreshToken appleRefreshToken = appleRefreshTokenLowService.findByUserId(userId);
102+
log.info("Apple user deletion detected. userId={}, appleRefreshTokenId={}", userId, appleRefreshToken.getId());
99103
appleApiConnector.revokeToken(appleRefreshToken.getToken());
100104
appleRefreshTokenLowService.deleteByUserId(userId);
101105
}
@@ -112,6 +116,7 @@ public void deleteUser(Long userId) {
112116
userLowService.deleteByUserId(userId);
113117

114118
s3Service.deleteS3File(findUser.getProfileImage());
119+
log.info("User deletion completed. userId={}", userId);
115120
}
116121

117122
public UserResponse changeTag(UserTagUpdateRequest userTagUpdateRequest, Long userId) {

0 commit comments

Comments
 (0)