Spring Security OAuth2纯资源服务器

我们已经设置了OAuth2授权服务器,因此我需要创建相应的资源服务器(单独的服务器)。 我们计划使用Spring Security OAuth2项目。 他们用于设置资源服务器的文档:

https://github.com/spring-projects/spring-security-oauth/wiki/oAuth2#resource-server-configuration

token-services-ref应该指向令牌处理bean。 然而,似乎令牌处理由服务器本身完成,即使它是资源服务器。 似乎没有任何远程令牌服务类或与远程服务器相关的任何配置。 这与CloudFoundary UAA( https://github.com/cloudfoundry/uaa/blob/master/samples/api/src/main/webapp/WEB-INF/spring-servlet.xml )形成对比,后者具有:

   

有没有办法将Spring Security OAuth2用于与单独的OAuth2授权服务器通信的资源服务器? 如何设置通信端点?

只要授权服务器和资源服务器访问共享tokenStore (例如,使用带有公共dataSource JdbcTokenStore ,这是可能的。 您可以使用DefaultTokenServices以及对共享tokenStore的引用。 下面是一个示例Spring配置,您应该能够调整以满足您的需求:

                                           

是的可能。 就像您在问题中已经提到的那样, RemoteTokenServices就是解决方案。

我创建了一个具有单独的auth和资源服务器的示例。 它只是一个样本,可以快速了解概念并开放扩展。

弹簧AngularJS-的OAuth2单样本