我一直在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,我知道一旦選擇將序列化客戶端中的數據,但目前它非常複雜。
我在做什麼錯?我無法弄清楚我錯過了什麼。