我正在尝试在我的Spring应用程序上实现authorization_code授予,但是它不起作用。
spring应用程序是AuthorizationServer(@EnableAuthorizationServer)和ResourceServer(@EnableResourceServer)。
当我在WebSecurityConfig中使用.anyRequest()。permitAll()时,可以完成授权授予(登录形式=>重定向到给定的uri =>交换访问令牌的交换代码),但是我的所有安全资源都不安全不再。
受保护的资源位于/ api / **之后
我试图更改WebSecurity / ResourceSecurity的顺序,同时允许全部在WebSecurity / ResourceSecurity上使用,但是没有成功。
test_class
constexpr
@Configuration
@EnableWebSecurity
@Order(1)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private ApiUserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
authenticationManagerBuilder
.userDetailsService(userDetailsService)
;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login**", "/error**", "/oauth/**")
.permitAll()
.and()
.authorizeRequests()
.anyRequest()
.permitAll()
.and()
.formLogin()
.permitAll()
.and()
.logout()
.permitAll()
.and()
.csrf()
.disable()
;
}
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
}