JWT возвращает ответ 401 за исключением первого запроса - PullRequest
0 голосов
/ 18 октября 2019

Вчера я новичок в webflux весной. Я реализовал с помощью JWT, и он возвращает 401 ответ за исключением первого запроса.

@Bean
public SecurityWebFilterChain securitygWebFilterChain(ServerHttpSecurity http) {
    return http.requestCache()
          .requestCache(NoOpServerRequestCache.getInstance()).and().securityContextRepository(NoOpServerSecurityContextRepository.getInstance()).exceptionHandling()
            .authenticationEntryPoint((swe, e) -> {
                return Mono.fromRunnable(() -> {
                    swe.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
                });
            }).accessDeniedHandler((swe, e) -> {
                return Mono.fromRunnable(() -> {
                    swe.getResponse().setStatusCode(HttpStatus.FORBIDDEN);
                });
            }).and()
        .csrf().disable()
        .formLogin().disable()
        .httpBasic().disable()
        .logout().disable()
        .authenticationManager(authenticationManager)
        .securityContextRepository(securityContextRepository)
        .authorizeExchange()
        .pathMatchers(adminAccess.toArray(new String[0])).hasAuthority("ADMIN")
        .pathMatchers(userAccess.toArray(new String[0])).hasAuthority("USER")
        .pathMatchers(guestAccess.toArray(new String[0])).permitAll()
        // all other requests need to be authenticated
        .anyExchange().authenticated().and().exceptionHandling()
        .and().build();
}

. также после генерации он разрешает только один ответ, и после этого все мои запросы становятся неавторизованными.

...