Безопасность веб-сокетов в Spring Cloud Gateway - PullRequest
0 голосов
/ 10 апреля 2019

Я настроил шлюз с серверами веб-сокетов с балансировкой нагрузки 2.

@Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        //@formatter:off
        return builder.routes()
                .route("ws", r -> r.path("/ws/**")
                        .uri("lb://chat-service"))
                .build();
        //@formatter:on
}

Приложение защищено сервером JWt.

 @Bean
    SecurityWebFilterChain springWebFilterChain(ServerHttpSecurity http) throws Exception {
        // @formatter:off
        http
            .authorizeExchange()
                .anyExchange().authenticated()
                .and()
            .oauth2ResourceServer()
                .jwt();
        // @formatter:on
        return http.build();
    }

Можем ли мы подтвердить подлинность рукопожатия через веб-сокет, который является запросом на обновление HTTP.Таким образом, запрос будет выглядеть так:

ws: // localhost: 8080 / ws / echo? Token = xxxx

Как я уже видел, GatewayFilter будет тем, чем я будунужно, но я не совсем понял, как это сделать.Любой альтернативный способ будет полезен.
спасибо.

Версия для весенней загрузки: 2.1.4.RELEASE
Версия для весеннего облака: Greenwich.RELEASE

...