@@ -35,6 +35,7 @@ public class CustomOAuth2UserService extends DefaultOAuth2UserService {
3535 private final UserSettingsRepository userSettingsRepository ;
3636
3737 @ Override
38+ @ Transactional
3839 public OAuth2User loadUser (OAuth2UserRequest userRequest ) throws OAuth2AuthenticationException {
3940 OAuth2User user = super .loadUser (userRequest );
4041
@@ -48,7 +49,6 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2Authentic
4849 }
4950 }
5051
51- @ Transactional
5252 protected OAuth2User process (OAuth2UserRequest userRequest , OAuth2User user ) {
5353 ProviderType providerType = ProviderType .valueOf (userRequest .getClientRegistration ().getRegistrationId ().toUpperCase ());
5454 OAuth2UserInfo userInfo = OAuth2UserInfoFactory .getOAuth2UserInfo (providerType , user .getAttributes ());
@@ -61,15 +61,7 @@ protected OAuth2User process(OAuth2UserRequest userRequest, OAuth2User user) {
6161 " account. Please use your " + savedUser .getProviderType () + " account to login."
6262 );
6363 }
64- //이메일을 업데이트
65- log .debug ("### OAUTH2 EMAIL <1> : {}" , userInfo .getEmail ());
66- if (userInfo .getEmail () != null ) {
67- if (savedUser .getEmail () == null || (!savedUser .getEmail ().equals (userInfo .getEmail ()))) {
68- log .debug ("### OAUTH2 EMAIL <2> : {}을 {}로 update" , savedUser .getEmail (), userInfo .getEmail ());
69- savedUser .updateEmail (userInfo .getEmail ());
70- }
71- }
72-
64+ updateUser (userInfo );
7365 } else {
7466 //가입한적 없다면 회원가입을 진행.
7567 savedUser = createUser (userInfo , providerType );
@@ -80,6 +72,16 @@ protected OAuth2User process(OAuth2UserRequest userRequest, OAuth2User user) {
8072 return UserPrincipal .create (savedUser , user .getAttributes ());
8173 }
8274
75+ public void updateUser ( OAuth2UserInfo userInfo ) {
76+ User user = userRepository .findByUserIdAndIsDeleted (userInfo .getId (), false );
77+ log .debug ("### OAUTH2 EMAIL <1> : {}" , userInfo .getEmail ());
78+ if (userInfo .getEmail () == null ) return ;
79+ if (user .getEmail () == null || (!user .getEmail ().equals (userInfo .getEmail ()))) {
80+ log .debug ("### OAUTH2 EMAIL <2> : {}을 {}로 update" , user .getEmail (), userInfo .getEmail ());
81+ user .updateEmail (userInfo .getEmail ());
82+ }
83+ else log .debug ("### OAUTH2 EMAIL <2> not update/...." );
84+ }
8385
8486 private User createUser (OAuth2UserInfo userInfo , ProviderType providerType ) {
8587 User user = User .createUser (
0 commit comments