Разные порты внутреннего и внешнего интерфейса OAuth2 Cors проблема - PullRequest
0 голосов
/ 25 сентября 2018

В моем проекте я использую аутентификацию OAuth2 для GMail.Это конфиги:

@Configuration
@Order(97)
@EnableOAuth2Sso
public class OAuth2SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.cors().and().csrf().disable()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.NEVER)
                .and()
                .authorizeRequests()
                .antMatchers("/gmail/**", "/login")
                .authenticated();
    }


}

А это Cors config:

@Configuration
public class CorsConfig {

    @Bean
    public FilterRegistrationBean corsFilterRegistrationBean() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = new CorsConfiguration();
        config.applyPermitDefaultValues();
        config.setAllowCredentials(true);
        config.setAllowedOrigins(Collections.singletonList("*"));
        config.setAllowedHeaders(Collections.singletonList("*"));
        config.setAllowedMethods(Collections.singletonList("*"));
        config.setExposedHeaders(Collections.singletonList("content-length"));
        config.setMaxAge(3600L);
        source.registerCorsConfiguration("/**", config);
        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
        bean.setOrder(0);
        return bean;
    }
}

Я работаю с VueJS для создания пользовательского интерфейса и, конечно, я использую прокси из VueJS (proxyTable) для всех запросов.

Но я не могу аутентифицировать учетную запись GMail из пользовательского интерфейса, когда я нажимаю на кнопку, которая отправляет запрос на аутентификацию, произошел сбой с ошибками:

enter image description here

Это сеть:

enter image description here

Я не знаю, что еще делать.Кстати, из аутентификации браузера, когда я заканчиваю / api / gmail / signin - это прекрасно работает, но из проекта это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...