Skip to content

Commit 05bb088

Browse files
committed
refactor: 회원가입 토큰 검증 시, 서버에 저장된 값과 동일한지 검증 추가
- code rabbit 리뷰 반영: #479 (comment)
1 parent a75f144 commit 05bb088

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/main/java/com/example/solidconnection/auth/controller/AuthController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
import com.example.solidconnection.auth.dto.oauth.OAuthResponse;
1111
import com.example.solidconnection.auth.dto.oauth.OAuthSignInResponse;
1212
import com.example.solidconnection.auth.service.AuthService;
13+
import com.example.solidconnection.auth.service.oauth.OAuthService;
1314
import com.example.solidconnection.auth.service.signin.EmailSignInService;
1415
import com.example.solidconnection.auth.service.signup.EmailSignUpTokenProvider;
1516
import com.example.solidconnection.auth.service.signup.SignUpService;
16-
import com.example.solidconnection.auth.service.oauth.OAuthService;
1717
import com.example.solidconnection.common.exception.CustomException;
1818
import com.example.solidconnection.common.exception.ErrorCode;
1919
import com.example.solidconnection.common.resolver.AuthorizedUser;

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.example.solidconnection.auth.service.signup;
22

33
import static com.example.solidconnection.common.exception.ErrorCode.SIGN_UP_TOKEN_INVALID;
4-
import static com.example.solidconnection.common.exception.ErrorCode.SIGN_UP_TOKEN_NOT_ISSUED_BY_SERVER;
54

65
import com.example.solidconnection.auth.domain.SignUpToken;
76
import com.example.solidconnection.auth.domain.Subject;
@@ -41,8 +40,7 @@ public void deleteByEmail(String email) {
4140

4241
public void validateSignUpToken(String token) {
4342
validateFormatAndExpiration(token);
44-
String email = parseEmail(token);
45-
validateIssuedByServer(email);
43+
validateIssuedByServer(token);
4644
}
4745

4846
private void validateFormatAndExpiration(String token) { // 파싱되는지, AuthType이 포함되어있는지 검증
@@ -54,9 +52,11 @@ private void validateFormatAndExpiration(String token) { // 파싱되는지, Aut
5452
}
5553
}
5654

57-
private void validateIssuedByServer(String email) {
55+
private void validateIssuedByServer(String token) {
56+
String email = parseEmail(token);
5857
tokenStorage.findToken(new Subject(email), SignUpToken.class)
59-
.orElseThrow(() -> new CustomException(SIGN_UP_TOKEN_NOT_ISSUED_BY_SERVER));
58+
.filter(foundToken -> foundToken.equals(token))
59+
.orElseThrow(() -> new CustomException(SIGN_UP_TOKEN_INVALID));
6060
}
6161

6262
public String parseEmail(String token) {

0 commit comments

Comments
 (0)