У меня небольшая проблема с аутентификацией с помощью JWT. Поэтому я уже настроил систему аутентификации JWT, и она работает нормально. Я создал два фильтра, один для аутентификации и один для авторизации. Теперь я добавил функцию подтверждения, где я отправляю ссылку на почту пользователя. Теперь я хочу аутентифицировать пользователя после подтверждения, сгенерировать токен JWT и вернуть его в качестве ответа, как это делает маршрут / Security по умолчанию Spring Security.
вот мой метод подтверждения:
@GetMapping("/{id}/confirm")
@PreAuthorize("@userPolicy.isNew(#id)")
ResponseEntity<?> confirm(@RequestParam(name = "token") String token, @PathVariable Long id)
{
try
{
User user = repository.findById(id).orElseThrow(() -> new UserNotFoundException(id));
if( token.equals(user.getConfirmationToken()) )
{
//user.setIsConfirmed(true);
//repository.save(user);
return ResponseEntity.accepted().build();
}
return ResponseEntity.badRequest().build();
}
catch( UserNotFoundException e)
{
return ResponseEntity.notFound().build();
}
}
Заранее спасибо.