Skip to content

Commit 62aa294

Browse files
committed
feat(oauth): defaultOAuth2UserService 의존성 주입 추가, CustomOAuth2User 사용으로 변경
1 parent 9416b84 commit 62aa294

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.somemore.global.auth.oauth.config;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService;
6+
7+
@Configuration
8+
public class OAuth2Config {
9+
10+
@Bean
11+
public DefaultOAuth2UserService defaultOAuth2UserService() {
12+
return new DefaultOAuth2UserService();
13+
}
14+
}

src/main/java/com/somemore/global/auth/oauth/service/CustomOAuth2UserService.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.somemore.global.auth.oauth.service;
22

3+
import com.somemore.global.auth.oauth.domain.CustomOAuth2User;
4+
import com.somemore.global.auth.oauth.domain.OAuthProvider;
35
import lombok.RequiredArgsConstructor;
46
import lombok.extern.slf4j.Slf4j;
57
import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService;
@@ -14,18 +16,26 @@
1416
@RequiredArgsConstructor
1517
public class CustomOAuth2UserService implements OAuth2UserService<OAuth2UserRequest, OAuth2User> {
1618

19+
private final DefaultOAuth2UserService oauth2UserService;
20+
1721
@Override
1822
public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException {
1923
try {
20-
return fetchOAuthUser(userRequest);
24+
OAuth2User oAuth2User = extractOAuth2User(userRequest);
25+
OAuthProvider oAuthProvider = extractOAuthProvider(userRequest);
26+
27+
return CustomOAuth2User.of(oAuth2User, oAuthProvider);
2128
} catch (OAuth2AuthenticationException e) {
2229
log.error("OAuth 사용자 정보를 불러오는 중 문제가 발생했습니다: {}", e.getMessage(), e);
2330
throw e;
2431
}
2532
}
2633

27-
private OAuth2User fetchOAuthUser(OAuth2UserRequest userRequest) {
28-
OAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService = new DefaultOAuth2UserService();
29-
return oAuth2UserService.loadUser(userRequest);
34+
private OAuth2User extractOAuth2User(OAuth2UserRequest userRequest) {
35+
return oauth2UserService.loadUser(userRequest);
36+
}
37+
38+
private OAuthProvider extractOAuthProvider(OAuth2UserRequest userRequest) {
39+
return OAuthProvider.from(userRequest.getClientRegistration().getRegistrationId());
3040
}
3141
}

0 commit comments

Comments
 (0)