我正在尝试将OAuth2添加到WebFlux中,但找不到任何有效的示例。
要实现自己的授权服务器,我使用以下代码:
@EnableAuthorizationServer
@Configuration
public class ServerAuth extends AuthorizationServerConfigurerAdapter {
...
}
我的spring启动应用程序停止工作,因为在 AuthorizationServerConfigurerAdapter 类中,使用了 AuthorizationServerSecurityConfigurer ,它取决于 javax.servlet.Filter 但是在WebFlux应用程序,没有Servlet过滤器。
同样 AuthorizationServerEndpointsConfigurer 期望使用 UserDetailsService (旧的非反应式api)进行初始化,而非 UserDetailsRepository
是否可以在当前的WebFlux应用程序中使用oauth2,如果是,则可以显示示例。
由于
答案 0 :(得分:1)
Spring Security团队尚未实现对授权服务器Webflux的支持。
目前,他们已经获得了资源服务器webflux支持,并提到了其他答案。但是,他们在这里提到他们正在授权服务器上工作,并且基于此,应该很快就会发布:
Spring Security 5中正在进行OAuth 2.0支持,并带有新的Client支持。该计划还将在2018年中期之前为Resource Server提供支持,并在2018年底或2019年初之前为Authorization Server提供支持。我们的目标是为OAuth 2.0 Core和扩展,OpenID Connect 1.0以及Javascript对象签名和加密提供广泛的支持。 (JOSE)。
来源:https://spring.io/blog/2018/01/30/next-generation-oauth-2-0-support-with-spring-security
因此,目前我们只使用Servlet OAuth2服务器,如果您使用JWT令牌,那么如果您问我,它应该已经足够了。
干杯!
答案 1 :(得分:-1)