Skip to content

Commit 5447d0c

Browse files
authored
fix: 로그인 문제 해결 (#339)
Co-authored-by: 나용준 <141994188+youngJun99@users.noreply.github.com>
1 parent 5951fe2 commit 5447d0c

3 files changed

Lines changed: 11 additions & 8 deletions

File tree

src/main/java/ssu/eatssu/domain/auth/security/CustomUserDetailsService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ public class CustomUserDetailsService implements UserDetailsService {
1717

1818
private final UserRepository userRepository;
1919

20+
// OrderByIdAsc로 해줌으로써 처음 생성된 계정으로 연결된다.
2021
@Override
2122
public UserDetails loadUserByUsername(String username) {
22-
User user = userRepository.findByEmail(username)
23+
User user = userRepository.findFirstByEmailOrderByIdAsc(username)
2324
.orElseThrow(() -> new BaseException(BaseResponseStatus.NOT_FOUND_USER));
2425
return new CustomUserDetails(user);
2526
}

src/main/java/ssu/eatssu/domain/auth/service/OAuthService.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ public class OAuthService {
3434

3535
public Tokens kakaoLogin(KakaoLoginRequest request) {
3636
User user = userRepository.findByProviderId(request.providerId())
37-
.orElseGet(() -> userService.join(request.email(), KAKAO, request.providerId()));
37+
.orElseGet(() -> userRepository.findFirstByEmailOrderByIdAsc(request.email())
38+
.orElseGet(() -> userService.join(request.email(), KAKAO, request.providerId())));
3839

3940
return generateOauthJwtTokens(user.getEmail(), KAKAO, request.providerId());
4041
}
@@ -44,7 +45,8 @@ public Tokens kakaoLogin(KakaoLoginRequest request) {
4445
*/
4546
public Tokens kakaoLoginV2(KakaoLoginRequestV2 request) {
4647
User user = userRepository.findByProviderId(request.providerId())
47-
.orElseGet(() -> userService.joinV2(request.email(), KAKAO, request.providerId(),request.deviceType()));
48+
.orElseGet(() -> userRepository.findFirstByEmailOrderByIdAsc(request.email())
49+
.orElseGet(() -> userService.joinV2(request.email(), KAKAO, request.providerId(),request.deviceType())));
4850

4951
user.updateDeviceType(request.deviceType());
5052

@@ -57,7 +59,8 @@ public Tokens appleLogin(AppleLoginRequest request) {
5759
OAuthInfo oAuthInfo = appleAuthenticator.getOAuthInfoByIdentityToken(request.identityToken());
5860

5961
User user = userRepository.findByProviderId(oAuthInfo.providerId())
60-
.orElseGet(() -> userService.join(oAuthInfo.email(), APPLE, oAuthInfo.providerId()));
62+
.orElseGet(() -> userRepository.findFirstByEmailOrderByIdAsc(oAuthInfo.email())
63+
.orElseGet(() -> userService.join(oAuthInfo.email(), APPLE, oAuthInfo.providerId())));
6164

6265
updateAppleUserEmail(user, oAuthInfo.email());
6366

@@ -71,7 +74,8 @@ public Tokens appleLoginV2(AppleLoginRequestV2 request) {
7174
OAuthInfo oAuthInfo = appleAuthenticator.getOAuthInfoByIdentityToken(request.identityToken());
7275

7376
User user = userRepository.findByProviderId(oAuthInfo.providerId())
74-
.orElseGet(() -> userService.joinV2(oAuthInfo.email(), APPLE, oAuthInfo.providerId(),request.deviceType()));
77+
.orElseGet(() -> userRepository.findFirstByEmailOrderByIdAsc(oAuthInfo.email())
78+
.orElseGet(() -> userService.joinV2(oAuthInfo.email(), APPLE, oAuthInfo.providerId(),request.deviceType())));
7579

7680
updateAppleUserEmail(user, oAuthInfo.email());
7781

src/main/java/ssu/eatssu/domain/user/repository/UserRepository.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ public interface UserRepository extends JpaRepository<User, Long> {
1313

1414
boolean existsByNickname(String nickname);
1515

16-
Optional<User> findByEmail(String email);
17-
1816
Optional<User> findByProviderId(String providerId);
1917

20-
Optional<User> findByNickname(String nickname);
18+
Optional<User> findFirstByEmailOrderByIdAsc(String email);
2119
}

0 commit comments

Comments
 (0)