【发布时间】:2018-02-12 03:05:29
【问题描述】:
我有完美的使用 spring oAuth2 的 spring boot 应用程序。当我在主类上使用@EnableResourceServer 时效果很好。 但要为我在类下面实现的服务启用 CORS
@Configuration
public class CorsConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.cors();
}
@Bean
public CorsConfigurationSource corsConfigurationSource() {
final org.springframework.web.cors.CorsConfiguration configuration = new org.springframework.web.cors.CorsConfiguration();
configuration.setAllowedOrigins(ImmutableList.of("*"));
configuration.setAllowedMethods(ImmutableList.of("HEAD",
"GET", "POST", "PUT", "DELETE", "PATCH"));
configuration.setAllowCredentials(true);
configuration.setAllowedHeaders(ImmutableList.of("Authorization", "Cache-Control", "Content-Type"));
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
}
添加该类后,似乎请求未使用 oAuth 令牌进行验证。即使没有 oAuth 令牌,任何请求都可以访问服务。
我做错了什么? 我不能同时使用吗?有什么特别的事情要做吗? 有没有更好的方法来启用 CORS。 (我试过@CrossOrigin注解没用)
【问题讨论】:
标签: spring spring-security oauth spring-security-oauth2