Я интегрировал облачный шлюз Spring с логином oauth2. После выхода из scg пользователь все еще может получить доступ к серверу ресурсов, потому что у пользователя есть действующий токен. Мне нужно каким-то образом аннулировать этот действительный токен. в моих исследованиях есть решение из черного списка (https://stackoverflow.com/a/53994938/5079581), и я буду реализовывать это.
Создав фильтр, я беру 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 на шлюзе? есть ли для этого какой-нибудь образец кода или демонстрация? Спасибо.