symfony 2.8で私のサーバで作業していましたが、camelCaseスタイルのjsonオブジェクトを返す残りのAPIを作成しました。問題は、OauthServerバンドルを統合するとInvalid grant_type parameter or parameter missing"
私はfos_rest
構成でarray_normalizer: fos_rest.normalizer.camel_keys
ボディリスナーを使用しているため、これが発生することを理解しています。 security.yml
でFOSOAuthServerBundle + 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を使用していますが、クライアント側でデータをシリアル化することができればわかりますが、現時点ではかなり複雑です。
私は間違っていますか?私は何が欠けているのか分かりません。