Spring Securiy Cors, как установить cookie? - PullRequest
0 голосов
/ 23 октября 2018

Я использую Spring Security и REST-архитектуру.Мне нужно сохранить токен в куки, а затем извлечь этот токен из куки.Я использовал следующую конфигурацию:

@Bean
public CorsConfigurationSource corsConfigurationSource() {
    final CorsConfiguration configuration = new CorsConfiguration();
    configuration.setAllowedOrigins(Arrays.asList("*"));
    configuration.setAllowedMethods(Arrays.asList("HEAD",
            "GET", "POST", "PUT", "DELETE", "PATCH"));
    configuration.setAllowCredentials(true);
    configuration.setAllowedHeaders(Arrays.asList("Authorization", "Cache-Control", "Content-Type"));
    final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", configuration);
    return source;
}

Как установить cookie:

    @Transactional
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
                                        Authentication authentication) {
        String email = ((User) authentication.getPrincipal()).getUsername();
        String token = UUID.randomUUID().toString();
        userRepository.setTokenByEmail(token, email);
        response.addCookie(new Cookie("auth-token", token));
    }

И как я получаю токен из cookie:

Cookie cookie = WebUtils.getCookie(request, "auth-token");
String accessToken = null;
if(cookie != null){
    accessToken = cookie.getValue();
}

КогдаЯ вхожу в систему ПО РЕАКТИВНОМУ ПРИЛОЖЕНИЮ, оно не сохраняет значение в куки, но аутентификация прошла успешно.Когда я вхожу в систему ПО POSTMAN, она успешно работает (значение устанавливается на cookie и извлекается).

Почему я не могу установить значение при использовании приложения реакции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...