Как получить учетную запись пользователя при использовании социального входа в JHipster

Я разрабатываю приложение Jhipster, используя Angularjs, и после того, как я добавил социальный логин, его регенерирую. На стороне Angularjs мне нужно, чтобы текущий пользователь вошел в систему; если я использую:

Principal.identity().then(function(account) { vm.account = account; });

перед добавлением входа в систему через социальные сети этот фрагмент кода работал хорошо, чтобы войти в систему текущего пользователя; после того, как я добавил социальный логин, больше не работает. Я вижу, что остальной вызов для получения учетной записи был изменен:

@GetMapping("/account")
@Timed
public ResponseEntity<UserDTO> getAccount(Principal principal) {
    if (principal != null) {
        if (principal instanceof OAuth2Authentication) {
            return new ResponseEntity<>(userService.getUserFromAuthentication((OAuth2Authentication) principal), HttpStatus.OK);
        } else {
            // Allow Spring Security Test to be used to mock users in the database
            return Optional.ofNullable(userService.getUserWithAuthorities())
                .map(user -> new ResponseEntity<>(new UserDTO(user), HttpStatus.OK))
                .orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
        }
    } else {
        throw new InternalServerErrorException("User could not be found", null);
    }
}

до этого было:

@GetMapping("/account")
@Timed
public ResponseEntity<UserDTO> getAccount() {
    return Optional.ofNullable(userService.getUserWithAuthorities())
        .map(user -> new ResponseEntity<>(new UserDTO(user), HttpStatus.OK))
        .orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));

}

Так что мой вопрос, теперь, как я могу получить (сторона Angularjs) account?

0 ответов

Другие вопросы по тегам