Skip to content

Commit a916a32

Browse files
committed
🐛 self-invocation 문제 해결
1 parent 68b8662 commit a916a32

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/main/java/com/boggle_boggle/bbegok/oauth/service/CustomOAuth2UserService.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)