Spring Webflux, AuthenticationCesscessHandler не вызывается в потоке входа в OAuth2JAVA

Программисты JAVA общаются здесь
Anonymous
Spring Webflux, AuthenticationCesscessHandler не вызывается в потоке входа в OAuth2

Сообщение Anonymous »

Я все еще вздрыживаю в Webflux. Я хочу, чтобы пользователь вошел в систему, используя Google, и как только пользователь будет аутентифицирован, я хочу создать свой пользовательский JWT (который имеет некоторую информацию о роли, характерную для моего приложения) и вернуть заголовок ответа. Я делаю это в классе класса jwtauthenticationsuccesshandler, реализует ServerAuthenticationAccessHandler < /code> < /p>
Я также хочу перехватить любой входящий запрос и проверить, является ли JWT действительным или не для того, чтобы я настраивал аутентификацию Whebfilter, который я регистрирую ниже;

Код: Выделить всё

.addFilterAt(authenticationWebFilter, SecurityWebFiltersOrder.AUTHENTICATION)

Моя конфигурация безопасности выглядит ниже:
return http
.securityContextRepository(NoOpServerSecurityContextRepository.getInstance()) // 🚀 disables WebSession
.authorizeExchange(exchanges -> exchanges
.pathMatchers("**/vendor/**").hasRole(Role.VENDOR.name())
.pathMatchers("**/customer/**").hasRole(Role.CUSTOMER.name())
.anyExchange().authenticated()
)
.addFilterAt(authenticationWebFilter, SecurityWebFiltersOrder.AUTHENTICATION)
//.addFilterAfter(jwtHeaderFilter, SecurityWebFiltersOrder.AUTHENTICATION) // commented as no error but no output
.httpBasic(ServerHttpSecurity.HttpBasicSpec::disable)
.formLogin(ServerHttpSecurity.FormLoginSpec::disable)
.csrf(ServerHttpSecurity.CsrfSpec::disable)
.oauth2Login(oauth2 -> oauth2
.authenticationSuccessHandler(jwtAuthenticationSuccessHandler))
.build();
< /code>
jwtauthenticationsuccessHandler никогда не вызывается, и если я попытаюсь достичь того же, используя класс фильтров JwtheaderFilter после SecurityWebFilterSORDORDORDORDECTITION), тогда фильтр используется, но jwt Токен в ответе отсутствует, однако в журнале. Тело, но нет токена JWT в заголовке. < /p>
Пожалуйста, помогите !! Я отстой здесь и многое, но не смог найти никакого примера кода для WebFlux + OAuth2 + jwt

Подробнее здесь: https://stackoverflow.com/questions/797 ... login-flow

Вернуться в «JAVA»