【问题标题】:spring-security-oauth2-provider provider on GrailsGrails 上的 spring-security-oauth2-provider 提供程序
【发布时间】:2012-06-27 21:47:03
【问题描述】:

我需要公开我的 Grails Web 应用程序的特定 URL。但是,我希望它受到 OAuth2 客户端凭据流(grant_type)的保护。 准确地说,外部代理会向类似的东西发送请求

http://server-url/oauth/token?client_id=clientId&client_secret=clientSecret&grant_type=client_credentials

并获得一个access_token。然后,我的 URL(受保护的资源)应该可以通过类似的方式访问

http://server-url/resource?access_token={access-token obtained before}

到目前为止,我的方法涉及使用这个 grails 插件 (spring-security-oauth2-provider: http://grails.org/plugin/spring-security-oauth2-provider)。

按照https://github.com/adaptivecomputing/grails-spring-security-oauth2-provider 提供的文档,我已经能够设置授予 access_token 部分(注册的客户端能够通过提供其 id 和秘密来获取访问令牌。但是,我无法从关于如何保护给定资源的教程(仅使用访问令牌限制对客户端的访问)。

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

任何关于如何进行的指示都会很好。或者,也欢迎就满足要求的任何其他选项提出建议。

【问题讨论】:

    标签: grails oauth-2.0


    【解决方案1】:

    您可以使用 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”进行了测试。

    【讨论】:

      【解决方案2】:

      grails 插件是 spring 安全插件 spring-security-oauth 的一个包装,请查看 spring-security-oauth 文档。我假设您已经熟悉 ouath2 规范,如果没有阅读 enter link description here 甚至 google oauth2 API 是 google 文档示例。 您使用的插件没有更新到 spring-security-oauth 的最新版本,如果您想看看我已经在 github 上分叉并更新了它

      【讨论】:

      • 谢谢。我之前研究过 spring-security-plugin ,但后来我发现了这个。纠正我,如果我错了,但我想我应该查看 sparklr use-cse 以满足我的要求。
      • 嘿,我查看了 spring 安全插件文档。但是,我仍然无法弄清楚我的用例该怎么做。我提到的 oauth2-provider 插件已经在创建 access_token。但是,我不知道如何和/或在哪里访问它并告诉 grails 或 spring-security 插件进行保护(假设是一个使用它的控制器。
      • 是的 sparklr 示例是有关如何配置 oauth2 的主要信息来源。看看这两个文件github.com/SpringSource/spring-security-oauth/blob/master/…github.com/SpringSource/spring-security-oauth/blob/master/… 它们定义了保护控制器等资源所需的所有过滤器和bean。 spark中保护资源的过滤器是resourceServerFilter
      猜你喜欢
      • 2020-06-22
      • 2013-12-31
      • 2013-06-12
      • 2013-08-24
      • 2016-11-09
      • 2016-03-26
      • 2015-05-07
      • 2013-03-31
      • 1970-01-01
      相关资源
      最近更新 更多