Spring security oauth2 url для входа в систему 404

#java #spring #spring-security #spring-security-oauth2

#java #spring #spring-безопасность #spring-security-oauth2

Вопрос:

У меня есть приложение spring security oauth2, которое использует spring security вместе с ним. Конфигурация выглядит следующим образом

Вот мой WebConfig.java файл

 loginOrigin = "http://localhost:3000";
 protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/register").permitAll()
                .and()
                .formLogin()
                .loginPage(loginOrigin   "/login.html")
                .loginProcessingUrl("/login")
                .failureHandler(new LoginFailureHandler(loginOrigin   "/login?error=true"))
                .and()
                .logout()
                .logoutSuccessHandler(new LogoutSuccessHandler())
                .and()
                .exceptionHandling()
                .authenticationEntryPoint(new LoginEntryPoint(loginOrigin));

        http.csrf().disable();
    }
 

Как вы можете видеть, loginOrigin указывает страницу входа во внешнее приложение react.

В приложении react у меня установлен прокси-сервер, чтобы запросы на localhost: 3000 отправлялись на localhost: 8080

Мой вопрос заключается в том, когда я пытаюсь получить доступ http://localhost:8080/login непосредственно, он всегда возвращается с номером 404. Я могу получить доступ к другим URL-адресам, например http://localhost:8080/register в моем приложении. У меня возникла эта проблема только с URL-адресом входа.

Однако, когда я запускаю и запускаю приложение react и выполняю http://localhost:3000/login это работает нормально.

Можете ли вы сообщить мне, почему это происходит?

Комментарии:

1. Что вы подразумеваете под «прямым доступом»? Вы ожидаете, что ваша конечная точка loginProcessingUrl вернет представление?

2. Таким образом, прямой доступ означает 1. Использование postman 2. У меня есть развернутое приложение react, и у меня есть настройка прокси для вызова этой конечной точки входа. loginProcessingUrl выполнит перенаправление, поскольку я использую это в дополнение к OAuth2.0

Ответ №1:

Добавить:

 .antMatchers("/login").permitAll()