Создание нового пользователя,

У меня в приложении(spring boot) реализована аутентификация и авторизация для случая логин+пароль и oauth2(google, github). Когда авторизуется новый oauth2 пользователь, я регистрирую его в системе(во время этого присваиваю роль по умолчанию). Сущность Role реализована как JPA Entity.

public class CustomOAuth2UserService extends DefaultOAuth2UserService {
   @Autowired 
   RoleRepository roleRepository;

   @Value("${my.custom.value.default-role}")
   private String defaultRole;

// some code

private User registerNewUser(OAuth2UserRequest oAuth2UserRequest, OAuth2UserInfo oAuth2UserInfo) {
        User user = new User();

        user.setRole(roleRepository.findByName(defaultRole)); // вопросы по этой строке

        user.setName(oAuth2UserInfo.getName());
        user.setEmail(oAuth2UserInfo.getEmail());
        user.setImageUrl(oAuth2UserInfo.getImageUrl());
        return userRepository.save(user);
    }

Подскажите, пожалуйста, является ли это решение приемлемым? Возможно есть лучшие пути получения ролей пользователя по умолчанию. Буду благодарен за любые подсказки)


Ответы (0 шт):