不同的端口后端和前端OAuth2 Cors问题

时间:2018-09-25 09:52:44

标签: spring-boot spring-security gmail-api spring-security-oauth2

在我的项目中,我对GMail使用OAuth2身份验证。这是配置:

@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配置:

@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来构建UI,更重要的是,我使用VueJS(代理表)中的代理来处理所有请求。

但是我无法从UI对GMail帐户进行身份验证,当我单击发送身份验证请求的按钮时,它失败并显示以下错误:

enter image description here

这是网络:

enter image description here

我不知道该怎么办。顺便说一句,从浏览器身份验证中,当我终结/ api / gmail / signin时,它很好用,但从项目中却不能。

0 个答案:

没有答案