我已经通过 keycloak 设置了一个带有 Auth 的 Spring Cloud Gateway,但想添加 Keycloak 的 Policy Enforcer 以进行细粒度授权。这样云网关将执行授权和策略执行。每个微服务都可以充当 OAuth2 资源服务器。
如果它可以使用 Spring 功能,那么它是一个额外的好处。但是使用 Keycloak 适配器的解决方案也可以。
更新
添加我的安全配置
@EnableWebFluxSecurity 公共类 SecurityConfig {
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http,
ReactiveClientRegistrationRepository clientRegistrationRepository) {
http.authorizeExchange()
.anyExchange().authenticated()
.and()
.securityContextRepository(NoOpServerSecurityContextRepository.getInstance());
http.headers().frameOptions().mode(Mode.SAMEORIGIN);
http.csrf().disable();
return http.build();
}
}