Создание нового пользователя,
У меня в приложении(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);
}
Подскажите, пожалуйста, является ли это решение приемлемым? Возможно есть лучшие пути получения ролей пользователя по умолчанию. Буду благодарен за любые подсказки)