Создать черный список JWT в Spring Cloud Gateway - PullRequest
2 голосов
/ 05 марта 2020

Я интегрировал весенний облачный шлюз с авторизацией oauth2. После выхода из системы в scg пользователь все еще может получить доступ к серверу ресурсов, поскольку у него есть действующий токен. Мне нужно каким-то образом аннулировать этот действительный токен. В моих исследованиях есть «черный список» ({ ссылка }), и я его реализую.

создав фильтр, я беру jwt в шаге "/ logout" и помещаю его в черный список.

public class ExampleWebFilter implements WebFilter {

    @Override
    public Mono<Void> filter(ServerWebExchange serverWebExchange, WebFilterChain webFilterChain) {
        ServerHttpRequest request = serverWebExchange.getRequest();
        String uri = request.getPath().pathWithinApplication().value();
        HttpHeaders headers = request.getHeaders();
        if(uri.equals("/logout")) {
            List<String> auth = headers.get("Authorization");
        }

        return webFilterChain.filter(serverWebExchange);
    }

}

список проверки подлинности всегда возвращает ноль. Я думаю, что мой фильтр работает до фильтра токенов. Как я могу получить доступ к JWT на шлюзе? есть ли пример кода или демо для этого? Спасибо.

...