我正在尝试将OAuth2添加到WebFlux,但是找不到任何有效的示例。

要实现自己的授权服务器,我使用以下代码:

@EnableAuthorizationServer
@Configuration
public class ServerAuth extends AuthorizationServerConfigurerAdapter {
...
}


我的春季启动应用程序停止工作,因为在AuthorizationServerConfigurerAdapter类中使用的是AuthorizationServerSecurityConfigurer,它依赖于javax.servlet.Filter,但在WebFlux应用程序中没有Servlet过滤器。

另外,AuthorizationServerEndpointsConfigurer还希望使用UserDetailsS​​ervice(旧的非反应性api)初始化,而不是反应性UserDetailsRepository

如果可以的话,可以在当前WebFlux应用程序中使用oauth2吗?

谢谢

最佳答案

Spring安全团队尚未实现授权服务器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令牌,那么如果您问我,它就足够了。

干杯!

10-08 02:36