我需要公開Grails Web應用程序的特定URL。但是,我希望它受OAuth2客戶端憑據流(grant_type)的保護。 準確地說,一個外部代理將請求發送到像Grails上的spring-security-oauth2提供商提供商
http://server-url/oauth/token?client_id=clientId&client_secret=clientSecret&grant_type=client_credentials
和獲得的access_token。然後,我的網址(受保護的資源)應該是入店的東西,如
http://server-url/resource?access_token={access-token obtained before}
我的方法到現在使用這個插件的Grails(彈簧安全的oauth2提供商:http://grails.org/plugin/spring-security-oauth2-provider)參與。
按照https://github.com/adaptivecomputing/grails-spring-security-oauth2-provider給出的文檔,我可以設置授權access_token部分(註冊的客戶端可以通過提供它的id和secret來獲得訪問令牌,但是我無法從教程中理解關於如何保護給定的資源(僅限訪問令牌的客戶端訪問)
上述文檔鏈接僅提及設置訪問令牌分配的階段,然後轉移到用戶批准(我不介意不需要)
任何關於如何進行的指針都會很好。或者,關於任何其他選項的建議滿足要求也是受歡迎的。
謝謝。我之前曾查看過spring-security-plugin,但後來我發現了這個。糾正我,如果我錯了,但我想我應該看看我的要求sparklr use-cse。 – SoftDev
嘿,我看着春季安全插件文檔。但是,我仍然無法弄清楚爲我的用例做什麼。我提到的oauth2-provider插件已經創建了access_token。但是,我不知道如何和/或在哪裏訪問它,並告訴grails或spring-security插件來保護(讓我們來說一個控制器使用它。 – SoftDev
是的sparklr示例是如何配置oauth2的主要信息源。看看這兩個文件https://github.com/SpringSource/spring-security-oauth/blob/master/samples/oauth2/sparklr/src/main/webapp/WEB-INF/spring-servlet.xml https:/ /github.com/SpringSource/spring-security-oauth/blob/master/samples/oauth2/sparklr/src/main/webapp/WEB-INF/web.xml它們定義了保護資源所需的所有過濾器和bean,例如在spark中,保護資源的過濾器是resourceServerFilter –