Grails上的spring-security-oauth2-provider提供程序

Grails上的spring-security-oauth2-provider提供程序,grails,oauth-2.0,Grails,Oauth 2.0,我需要公开GrailsWeb应用程序的特定URL。但是,我希望它受到OAuth2客户端凭据流(grant_类型)的保护。 准确地说,外部代理将向以下对象发送请求 http://server-url/oauth/token?client_id=clientId&client_secret=clientSecret&grant_type=client_credentials http://server-url/resource?access_token={access-token

我需要公开GrailsWeb应用程序的特定URL。但是,我希望它受到OAuth2客户端凭据流(grant_类型)的保护。 准确地说,外部代理将向以下对象发送请求

http://server-url/oauth/token?client_id=clientId&client_secret=clientSecret&grant_type=client_credentials
http://server-url/resource?access_token={access-token obtained before}
并获取一个访问令牌。然后,我的URL(受保护的资源)应该可以访问如下内容

http://server-url/oauth/token?client_id=clientId&client_secret=clientSecret&grant_type=client_credentials
http://server-url/resource?access_token={access-token obtained before}
到目前为止,我的方法是使用这个grails插件(spring-security-oauth2-provider:)

在上提供的文档之后,我已经能够设置授权访问令牌部分(注册的客户端可以通过提供其id和密码来获取访问令牌。但是,我无法从教程中了解如何保护给定资源(仅使用访问令牌限制对客户端的访问)

上面的文档链接只提到设置访问令牌分发的阶段,然后转到用户批准(我不需要)


任何关于如何继续的建议都很好。或者,关于满足需求的任何其他选项的建议也很受欢迎。

grails插件是spring security插件的一部分,请查看spring security oauth文档。我假设您已经熟悉ouath2规范,如果没有阅读,甚至是谷歌文档样本。
您正在使用的插件没有更新到spring security oauth的最新版本,如果您想看看我在上一版本中发布并更新的grails插件,请查看spring security oauth文档。我假设您已经熟悉ouath2规范,如果没有阅读,甚至没有阅读谷歌文档示例。
您正在使用的插件没有更新到spring security oauth的最新版本,如果您想看一看,我已经分叉并更新了它,您可以使用spring security core保护您的资源。示例:您可以在Requestmap中列出url路径

new Requestmap(url: '/api/v1/states/**', configAttribute: 'ROLE_USER,ROLE_USER').save()
new Requestmap(url: '/api/v1/subscriptions/**', configAttribute: 'ROLE_USER,ROLE_USER').save()
new Requestmap(url: '/api/v1/surveys/**', configAttribute: 'ROLE_USER,ROLE_USER').save()

我已经使用grails插件“spring-security-oauth2-provider:1.0.0.M5.1”进行了测试。

您可以使用spring安全内核来保护您的资源。示例:您可以在Requestmap中列出url路径

new Requestmap(url: '/api/v1/states/**', configAttribute: 'ROLE_USER,ROLE_USER').save()
new Requestmap(url: '/api/v1/subscriptions/**', configAttribute: 'ROLE_USER,ROLE_USER').save()
new Requestmap(url: '/api/v1/surveys/**', configAttribute: 'ROLE_USER,ROLE_USER').save()

我已经使用grails插件“spring-security-oauth2-provider:1.0.0.M5.1”进行了测试.

谢谢。我以前查看过spring安全插件,但后来发现了这个。如果我错了,请纠正我的错误,但我想我应该查看Sparkr use cse以满足我的需求。嘿,我查看了spring安全插件文档。但是,我仍然无法确定如何处理我的用例。我提到的oauth2提供程序插件是已经在创建access_令牌。但是,我不知道如何和/或在哪里访问它,并告诉grails或spring安全插件进行保护(假设一个控制器在使用它。是的,Sparkr示例是关于如何配置oauth2的主要信息源。看看这两个文件,它们定义了保护像控制器这样的资源所需的所有过滤器和bean。在spark中,保护资源的过滤器是ResourceServerFilterHanks。我已经查看了spring安全插件之前,但后来我发现了这个。请纠正我,如果我错了,但我想我应该研究Sparkr使用cse来满足我的需求。嘿,我研究了spring安全插件文档。但是,我仍然无法确定如何处理我的用例。我提到的oauth2提供程序插件已经在创建access_令牌。但是,我不知道如何和/或在何处访问它,并告诉grails或spring安全插件进行保护(假设一个控制器正在使用它。是的,Sparkr示例是有关如何配置oauth2的主要信息源。查看这两个文件,它们定义了保护资源(如控制器)所需的所有筛选器和bean。在spark中,保护资源的筛选器是resourceServerFilter