プラグインgrails-spring-security-oauth2-providerに基づいてgrailsを使用して広告OAUTH2プロバイダーを構成しようとしていますが、 pring-Security-OAuthM6にアップグレードしています。
/ oauth/authorizeエンドポイントを使用してクライアントを登録して認証コードを取得することができました。
しかし、アクセストークンを取得しようとすると問題が発生し、jsonを返すことができないようです。
curlを使用してアクセストークンエンドポイントを呼び出します
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で応答します。受け入れ可能な表現が見つかりませんでした。
グーグルで検索して、resources.xml mvc:annotation-drivenを追加して、springにjson jackson convertorを登録させようとしました。この時点で、呼び出しはHTTP/1.1で返されます。406受け入れられません。リクエスト「accept」ヘッダーによると受け入れられない特性を持つ
春のセキュリティoauthソースに入ると、このコントローラーTokenEndpoint.javaに到達し ました。ここでデバッグすると、トークンが正しく生成されていることがわかります。groovyコンソールを使用して、ジャクソンコンバーターを手動で照合してみました。
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は正しく印刷されるので、jackson構成の問題を除外できます。
スプリングMVCコントローラーはGrailsにマッピングされています
"/oauth/token"(uri:"/oauth/token.dispatch ")
問題はどこにありますか?なぜgrailsはjsonを返すことができないのですか?
これは私のDependecyレポートです