Skip to content

Commit 073134a

Browse files
authored
feat: 첫 로그인시 토큰에 새 토큰 여부 반환
close: #33 # 변경점 👍 첫 로그인 회원에게 튜토리얼을 제공하기 위해서, `TokenResponse`에 `isNew` 필드를 추가하여 첫 로그인 여부를 반환하도록 했습니다.
1 parent 6325170 commit 073134a

File tree

5 files changed

+19
-13
lines changed

5 files changed

+19
-13
lines changed

src/main/java/apptive/team5/jwt/dto/TokenResponse.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
public record TokenResponse(
44
String accessToken,
5-
String refreshToken
5+
String refreshToken,
6+
boolean isNew
67
) {
78
}

src/main/java/apptive/team5/jwt/service/JwtService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public TokenResponse exchangeToken(String oldRefreshToken) {
5959

6060
saveRefreshToken(userId, newRefreshToken);
6161

62-
return new TokenResponse(newAccessToken, newRefreshToken);
62+
return new TokenResponse(newAccessToken, newRefreshToken, false);
6363
}
6464

6565
public void deleteRefreshTokenByUserId(Long userId) {

src/main/java/apptive/team5/oauth2/controller/OAuth2Controller.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ public ResponseEntity<TokenResponse> googleLogin(@RequestBody GoogleLoginRequest
3535
return ResponseEntity.ok(tokenResponse);
3636
}
3737

38-
@GetMapping("/test")
39-
public ResponseEntity<TokenResponse> testLogin() {
40-
41-
TokenResponse tokenResponse = testLoginService.testLogin();
42-
43-
return ResponseEntity.ok(tokenResponse);
44-
}
38+
// @GetMapping("/test")
39+
// public ResponseEntity<TokenResponse> testLogin() {
40+
//
41+
// TokenResponse tokenResponse = testLoginService.testLogin();
42+
//
43+
// return ResponseEntity.ok(tokenResponse);
44+
// }
4545
}

src/main/java/apptive/team5/oauth2/service/TestLoginService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,13 @@ public TokenResponse testLogin() {
3434

3535
Optional<UserEntity> findUser = userRepository.findByIdentifier(TEST_IDENTIFIER);
3636

37+
3738
if(findUser.isPresent()){
3839
user = findUser.get();
3940
}
40-
else user = userRepository.save(new UserEntity(TEST_IDENTIFIER, "[email protected]", "tester", "tester", UserRoleType.USER, SocialType.KAKAO));
41+
else {
42+
user = userRepository.save(new UserEntity(TEST_IDENTIFIER, "[email protected]", "tester", "tester", UserRoleType.USER, SocialType.KAKAO));
43+
}
4144

4245

4346

@@ -46,6 +49,6 @@ public TokenResponse testLogin() {
4649

4750
jwtService.saveRefreshToken(user.getId(), refreshToken);
4851

49-
return new TokenResponse(accessToken, refreshToken);
52+
return new TokenResponse(accessToken, refreshToken, true);
5053
}
5154
}

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import java.util.List;
3232
import java.util.Set;
3333
import java.util.stream.Collectors;
34-
import java.util.stream.Stream;
3534

3635
@Transactional
3736
@Service
@@ -52,13 +51,16 @@ public class UserService {
5251
public TokenResponse socialLogin(OAuth2Response oAuth2Response) {
5352
String identifier = oAuth2Response.getProvider() + "-" +oAuth2Response.getProviderId();
5453

54+
boolean isNew = false;
55+
5556
UserEntity user;
5657
if (userLowService.existsByIdentifier(identifier)) {
5758
user = userLowService.findByIdentifier(identifier);
5859
}
5960
else {
6061
String tag = TagGenerator.generateTag();
6162
user = userLowService.save(new UserEntity(identifier, oAuth2Response.getEmail(), oAuth2Response.getUsername(), tag, UserRoleType.USER, oAuth2Response.getProvider()));
63+
isNew = true;
6264
}
6365

6466
String accessToken = jwtUtil.createJWT(user.getId(), "ROLE_" + user.getRoleType().name(), TokenType.ACCESS_TOKEN);
@@ -67,7 +69,7 @@ public TokenResponse socialLogin(OAuth2Response oAuth2Response) {
6769

6870
jwtService.saveRefreshToken(user.getId(), refreshToken);
6971

70-
return new TokenResponse(accessToken, refreshToken);
72+
return new TokenResponse(accessToken, refreshToken, isNew);
7173
}
7274

7375
@Transactional(readOnly = true)

0 commit comments

Comments
 (0)