Я пытаюсь убедиться, что API можно получить только из браузеров без входа. Чтобы получить файл cookie, который используется для аутентификации пользователя и предоставления идентификатора сеанса, который бэкэнд возвращается на фронт. Позже все API называются с помощью этого. Но когда я воспроизвел это в Spring Boot, я могу достичь того же, но когда я скопирую завиток, он загружает данные. Если я изменю один заголовок, он блокируется автоматически, но я не могу понять, как приведенный выше закрепленный сайт может сделать это.@Configuration
@EnableWebSecurity
public class SecurityConfig {
private final SessionFilter sessionFilter;
public SecurityConfig(SessionFilter sessionFilter) {
this.sessionFilter = sessionFilter;
}
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.csrf(csrf -> csrf.disable())
.cors(cors -> {}) // enable CORS handling
.authorizeHttpRequests(auth -> auth
.requestMatchers("/auth/browser-handshake").permitAll()
.requestMatchers("/v1/search/**").authenticated()
.anyRequest().denyAll()
)
.addFilterBefore(sessionFilter, UsernamePasswordAuthenticationFilter.class);
return http.build();
}
}
< /code>
И теперь он бросает 403. Если я разрешу, то он будет доступен через почтальон или терминал. Как с этим справиться.
Подробнее здесь: https://stackoverflow.com/questions/797 ... in-request