我打算使用基于插件grails-spring-security-oauth2-provider的grails配置ad OAuth2提供程序,但升级到pring-Security-OAuth M6。Grails和Oauth2弹簧安全
我能够使用/ oauth/authorize端点注册客户端并获得授权码。
但是我有一个问题,当我尝试获取访问令牌时,它似乎无法返回json。
我所说的访问令牌端点卷曲
curl -k -i -H "Accept: application/json" "https://graph.mysite.it/oauth/token?client_id=testApp&client_secret=testAppSecret&response_type=token&grant_typization_code&code=OJD7xf&redirect_uri=https%3A%2F%2Fgraph.mysiste.it%2Fxme"
和服务器的回复与HttpMediaTypeNotAcceptableException无法找到可以接受的表示。
在google上搜索我试过在resources.xml中添加mvc:注释驱动为 让spring注册json jackson转换器,此时使用HTTP/1.1返回406不可接受“这个请求标识的资源是仅能够与根据该请求不可接受特征产生响应的“接受”报头”
走进弹簧安全的OAuth源I达到该控制器TokenEndpoint.java 调试这里我看到令牌被正确生成。 使用我已经试过手动常规控制台科林杰克逊转换器的广告,它的工作:
import org.codehaus.jackson.map.ObjectMapper
import org.springframework.security.oauth2.common.OAuth2AccessToken
def mapper = new ObjectMapper()
def token = new OAuth2AccessToken('fdkshdlfhklsahdklfhksaldfkl')
mapper.writeValueAsString(token)
的JSON是正确打印,这样我就可以排除杰克逊配置有问题。
弹簧MVC控制器被映射在与的grails
“/oauth/token"(uri:"/oauth/token.dispatch”)
是哪里的问题?为什么Grails无法返回json?