2014-12-02 74 views
0

我試圖實現FOSOAuthServerBundle。我需要它來創建一個集中的身份驗證功能,這個功能將被其他一些項目共享。FOSOAuthServerBundle - 路徑「安全性」的子節點「providers」必須配置

我跟着從這裏教程:Getting Started With FOSOAuthServerBundle

但我現在有一個問題:當試圖訪問路徑auth.local/app_dev.php/OAuth的/ V2/AUTH,我收到以下錯誤:

InvalidConfigurationException: The child node "providers" at path "security" must be configured. 

這裏是我的security.yml:

security: 
firewalls: 
    api: 
     pattern: /api 
     fos_oauth: true 
     stateless: true 
    oauth_authorize: 
     pattern: /oauth/v2/auth 
     form_login: 
      provider: fos_userbundle 
      check_path: /oauth/v2/auth_login_check 
      login_path: /oauth/v2/auth_login 
     anonymous: true 
    oauth_token: 
     pattern: /oauth/v2/token 
     security: false  

access_control: 
    - { path: ^/oauth/v2/auth_login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 

回答

2

此錯誤不會有很多工作要做與FOSOAuthServerBundle,而是你的security.yml配置。你還沒有指定提供者,所以symfony不知道從哪裏加載用戶。您應該在Symfony文檔中閱讀the security page以瞭解如何正確配置它。如果您想要數據庫中的用戶,請查看loading users from a database。無論哪種方式,你應該有一個具有這樣的結構的security.yml:

security: 
    encoders: #your encoder here 
    providers: #your provider here 
    firewalls: #your firewalls here 
    access_control: #your access_control here 

你可以翻翻文檔和使用什麼適合您的需要最好在每個部分填寫,也有很多的選擇。但是你必須有一個providers部分。

+0

謝謝@Sehal。我明白了,但實際上在FOSOAuthServerBundle教程中,沒有提到在security.yml中添加提供程序我在那裏做錯了什麼? – 2014-12-03 13:43:07

+0

github上軟件包的文檔只是顯示瞭如何配置security.yml中與該軟件包相關的部分的示例。它假定你知道如何正確配置security.yml。 – Sehael 2014-12-03 16:39:11

+0

我明白了。謝謝。是否有使用此FOSOAuthServerBundle的工作項目的完整示例? – 2014-12-04 10:12:02

相關問題