Как сгенерировать и передать токен CSRF для маршрута в облачном шлюзе Spring с помощью Spring SecurityJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как сгенерировать и передать токен CSRF для маршрута в облачном шлюзе Spring с помощью Spring Security

Сообщение Anonymous »

Я пытаюсь реализовать аутентификацию на основе Oauth2 с помощью Okta, Spring Cloud Gateway и Spring Security. Цель, которую я хочу достичь, — я хочу, чтобы маршрут шлюза Spring Cloud был доступен для всех без какой-либо аутентификации. Я знаю, что шлюз Spring Cloud использует WebFlux. Итак, только в соответствии с этим я настраиваю Spring Security. У меня есть три маршрута в шлюзе Spring Cloud.
  • /auth
  • /doctors
  • /paths
Я хочу, чтобы любой из этих маршрутов /auth/** был доступен всем, потому что здесь мои пользователи регистрируются так Не могу поставить там аутентификацию. Для двух других /doctors/** и /physicals/** мне нужна аутентификация и авторизация. В SecurityConfig в облачном шлюзе я пытаюсь добиться того же. В настоящее время я сделал эту конфигурацию:

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

    package com.sb.projects.medica.gateway.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
import org.springframework.security.config.web.server.ServerHttpSecurity;
import org.springframework.security.web.server.SecurityWebFilterChain;

@Configuration
@EnableWebFluxSecurity
public class SecurityConfig {
@Bean
public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity httpSecurity) {
httpSecurity.authorizeExchange(exchanges -> {
exchanges.pathMatchers("/doctor/**", "/patient/**").authenticated();
exchanges.pathMatchers("/auth/**").permitAll();
}).oauth2Client().and().oauth2ResourceServer().jwt();
return httpSecurity.build();
}
}
Но, похоже, это не работает. Когда я пытаюсь пройти по любому маршруту /auth/**, я получаю

Ожидаемый токен CSRF не найден

Как устранить эту ошибку. Как создать токен csrf и отправить его во внешний интерфейс

Подробнее здесь: https://stackoverflow.com/questions/756 ... y-with-spr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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