Skip to content

Commit 985a611

Browse files
committed
refactor : (#31) modify customOauth2UserService
1 parent 609618e commit 985a611

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

src/main/kotlin/entry/dsm/gitauth/equusgithubauth/global/oauth/service/CustomOauth2UserService.kt

+10-16
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ import org.springframework.stereotype.Service
1717
@Service
1818
class CustomOauth2UserService(
1919
private val userRepository: UserRepository,
20-
private val jwtTokenProvider: JwtTokenProvider
20+
private val jwtTokenProvider: JwtTokenProvider,
21+
private val googleOauthUserService: GoogleOauthUserService
2122
) : DefaultOAuth2UserService() {
2223

2324
override fun loadUser(userRequest: OAuth2UserRequest): OAuth2User {
@@ -30,23 +31,16 @@ class CustomOauth2UserService(
3031
else -> throw OAuth2AuthenticationException("지원하지 않는 provider: $provider")
3132
}
3233

33-
val providerId = oAuth2UserInfo.getProviderId()
34-
val loginId = "$provider$providerId"
35-
val email = oAuth2UserInfo.getEmail()
36-
val name = oAuth2UserInfo.getName()
34+
val loginId = "${provider}${oAuth2UserInfo.getProviderId()}"
3735

3836

39-
val user = userRepository.findByLoginId(loginId) ?: run {
40-
User(
41-
loginId = loginId,
42-
email = email,
43-
password = "", // OAuth는 비밀번호가 필요 없음
44-
name = name,
45-
provider = provider,
46-
providerId = providerId,
47-
role = UserRole.USER
48-
).also { userRepository.save(it) }
49-
}
37+
val user = googleOauthUserService.findOrCreateOAuthUser(
38+
loginId = loginId,
39+
email = oAuth2UserInfo.getEmail(),
40+
name = oAuth2UserInfo.getName(),
41+
provider = provider,
42+
providerId = oAuth2UserInfo.getProviderId()
43+
)
5044

5145

5246
val tokenResponse: TokenResponse = jwtTokenProvider.generateToken(loginId)

0 commit comments

Comments
 (0)