我已经使用spring-boot-starter-oauth2-authorization-server.实现了一个授权服务器 一切似乎都运行得很完美.但是,我需要公开一些用于创建用户、获取用户权限等的端点,因此我需要将身份验证服务器配置为也充当资源服务器.
我需要"POST/USERS"在没有授权的情况下成为公共的,而"GET/USERS/{USERID}/PERMISSIONS"则需要一个有效的JWT令牌出现在标题中.
我曾try 创建一个SecurityFilterChain Bean,它允许访问/USERS端点,但它 destruct 了授权服务器:
@Bean
public SecurityFilterChain configureSecurityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(authorizeRequests -> authorizeRequests
.requestMatchers(HttpMethod.POST, "/users").permitAll()
.anyRequest().authenticated());
http.csrf(AbstractHttpConfigurer::disable);
return http.build();
}
我确信为特定端点创建授权定制是可能的,但如何创建呢?