Skip to content

Commit 2ccb57f

Browse files
committed
refactor: 회원가입 토큰 삭제 메서드 생성
1 parent c93a883 commit 2ccb57f

3 files changed

Lines changed: 24 additions & 2 deletions

File tree

src/main/java/com/example/solidconnection/auth/service/PasswordTemporaryStorage.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,18 @@ public void save(String email, String rawPassword) {
2828
}
2929

3030
public Optional<String> findByEmail(String email) {
31-
String encodedPassword = redisTemplate.opsForValue().getAndDelete(convertToKey(email));
31+
String encodedPassword = redisTemplate.opsForValue().get(convertToKey(email));
3232
if (encodedPassword == null) {
3333
return Optional.empty();
3434
}
3535
return Optional.of(encodedPassword);
3636
}
3737

38+
public void deleteByEmail(String email) {
39+
String key = convertToKey(email);
40+
redisTemplate.delete(key);
41+
}
42+
3843
private String convertToKey(String email) {
3944
return KEY_PREFIX + email;
4045
}

src/main/java/com/example/solidconnection/auth/service/SignUpService.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,12 @@ public SignInResponse signUp(SignUpRequest signUpRequest) {
6464
interestedCountryService.saveInterestedCountry(siteUser, signUpRequest.interestedCountries());
6565

6666
// 로그인
67-
return signInService.signIn(siteUser);
67+
SignInResponse response = signInService.signIn(siteUser);
68+
69+
// 회원가입을 위해 저장한 데이터(SignUpToken, 비밀번호) 삭제
70+
clearSignUpData(email, authType);
71+
72+
return response;
6873
}
6974

7075
private void validateNicknameNotDuplicated(String nickname) {
@@ -86,4 +91,11 @@ private String getTemporarySavedPassword(String email, AuthType authType) {
8691
}
8792
return null;
8893
}
94+
95+
private void clearSignUpData(String email, AuthType authType) {
96+
if (authType == AuthType.EMAIL) {
97+
passwordTemporaryStorage.deleteByEmail(email);
98+
}
99+
signUpTokenProvider.deleteByEmail(email);
100+
}
89101
}

src/main/java/com/example/solidconnection/auth/service/SignUpTokenProvider.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,9 @@ public AuthType parseAuthType(String token) {
7676
String authTypeStr = claims.get(AUTH_TYPE_CLAIM_KEY, String.class);
7777
return AuthType.valueOf(authTypeStr);
7878
}
79+
80+
public void deleteByEmail(String email) {
81+
String key = TokenType.SIGN_UP.addPrefix(email);
82+
redisTemplate.delete(key);
83+
}
7984
}

0 commit comments

Comments
 (0)