UPDATE OAuth2 user service to save additional user details

This commit is contained in:
2025-06-24 00:11:01 +02:00
parent c7b3f6bf70
commit df7c2a15df
3 changed files with 16 additions and 13 deletions

View File

@@ -1,4 +1,5 @@
package com.ddf.vodsystem.security;
import com.ddf.vodsystem.entities.User;
import com.ddf.vodsystem.repositories.UserRepository;
import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService;
@@ -21,17 +22,19 @@ public class CustomOAuth2UserService extends DefaultOAuth2UserService {
public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException {
OAuth2User oAuth2User = super.loadUser(userRequest);
// String email = oAuth2User.getAttribute("email");
// String name = oAuth2User.getAttribute("name");
// String googleId = oAuth2User.getAttribute("sub");
//
// userRepository.findByGoogleId(googleId).orElseGet(() -> {
// User user = new User();
// user.setEmail(email);
// user.setName(name);
// user.setGoogleId(googleId);
// return userRepository.save(user);
// });
String email = oAuth2User.getAttribute("email");
String name = oAuth2User.getAttribute("name");
String googleId = oAuth2User.getAttribute("sub");
userRepository.findByGoogleId(googleId).orElseGet(() -> {
User user = new User();
user.setEmail(email);
user.setName(name);
user.setGoogleId(googleId);
user.setUsername(email);
user.setRole(0);
return userRepository.save(user);
});
return oAuth2User;
}

View File

@@ -29,9 +29,9 @@ public class SecurityConfig {
.oauth2Login(oauth2 -> oauth2
.userInfoEndpoint(userInfo -> userInfo
.userService(customOAuth2UserService)
)
.successHandler(successHandler())
);
return http.build();