Я занимаюсь разработкой приложения 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
?