我一直在Symfony 2.8中构建服务器,创建一个以camelCase风格返回json对象的休息api,现在的问题是,当我整合OauthServer包时,它会激活此错误Invalid grant_type parameter or parameter missing"
,我知道这是因为我在fos_rest
配置中使用了array_normalizer: fos_rest.normalizer.camel_keys
身体听众。这里我在configuration.yml
代码:FOSOAuthServerBundle + FOSRestBundle + CamelCase =未验证
fos_rest:
#other listeners#
body_listener:
array_normalizer: fos_rest.normalizer.camel_keys
zone:
- { path: ^/api }
在这里,我的Oauth配置在security.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,我知道一旦选择将序列化客户端中的数据,但目前它非常复杂。
我在做什么错?我无法弄清楚我错过了什么。