0

symfony 2.8で私のサーバで作業していましたが、camelCaseスタイルのjsonオブジェクトを返す残りのAPIを作成しました。問題は、OauthServerバンドルを統合するとInvalid grant_type parameter or parameter missing"私はfos_rest構成でarray_normalizer: fos_rest.normalizer.camel_keysボディリスナーを使用しているため、これが発生することを理解しています。 security.ymlFOSOAuthServerBundle + FOSRestBundle + CamelCase =認証されていない

fos_rest: 
    #other listeners# 
    body_listener: 
     array_normalizer: fos_rest.normalizer.camel_keys 
    zone: 
     - { path: ^/api } 

そして、ここに私のOAuth設定:configuration.ymlでここに私のコード

firewalls: 
    oauth_token: 
     pattern: ^/oauth/v2/token 
     security: false 
    api: 
     pattern: ^/api        
     fos_oauth: true        
     stateless: true        
     anonymous: false 

私はこれが今まで起こった最初の人物ではなかった、とzone属性が追加されたことが分かりましたこれを軽減するには、私の場合は^/apiの下のすべてでのみ動作します。パターンを変更するとリスナを期待通りに使用できなくなりますが、^/oauth/v2/tokenというパスを呼び出すと、zoneのパスが無視されるようです。

私のトークンを取得するために、私は次のPOSTリクエスト使用しています:私は、リスナーを無効にした場合、私は成功したトークンを取得することを明確にしたいが、私のアプリの残りの部分は、それので、動作を停止し

{ 
    grant_type= "password" 
    client_id= "clientId" 
    client_secret= "clientSecret" 
    username= "user" 
    password= "password" 
} 

をどこでもcamelCaseを使用していますが、クライアント側でデータをシリアル化することができればわかりますが、現時点ではかなり複雑です。

私は間違っていますか?私は何が欠けているのか分かりません。

答えて

1

回避策として、あなたは、あなたが身体のシリアライザを心配する必要は `tをこの

http://example.com/oauth/v2/token?client_id=[CLIENT_ID]&client_secret=[SECRET]&grant_type=password&username=[USERNAME]&password=[PASSWORD] 

ようPOSTGETの代わりに使用することができます。

関連する問題