FOSOAuthServerBundle — поставщики дочерних узлов в безопасности пути должны быть настроены

Я пытаюсь реализовать FOSOAuthServerBundle. Мне это нужно для создания централизованной функции аутентификации, которая будет использоваться некоторыми другими проектами.

Я следовал руководству отсюда: Начало работы с 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 }

person Milos Cuculovic    schedule 02.12.2014    source источник


Ответы (1)


Эта ошибка связана не с FOSOAuthServerBundle, а с вашей конфигурацией security.yml. Вы не указали провайдера, поэтому symfony не знает, откуда загружать пользователей. Вы должны прочитать страницу безопасности в документации Symfony, чтобы узнать, как правильно ее настроить. . Если вам нужны пользователи из базы данных, посмотрите загрузка пользователей из базы данных. В любом случае у вас должен быть файл security.yml со следующей структурой:

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

Вы можете заполнить каждый раздел, просматривая документы и используя то, что лучше всего соответствует вашим потребностям, есть много вариантов. Но у вас должен быть раздел providers.

person Sehael    schedule 02.12.2014
comment
Спасибо @Sehal. Понятно, но на самом деле в туториале по FOSOAuthServerBundle не упоминается о добавлении провайдеров в security.yml Я что-то там не так делаю? - person Miloš; 03.12.2014
comment
документация для пакета на github просто показывает пример того, как настроить части вашего security.yml, которые имеют отношение к пакету. Предполагается, что вы заранее знаете, как правильно настроить security.yml. - person Sehael; 03.12.2014
comment
Понимаю. Спасибо. Есть ли полный пример рабочего проекта, использующего этот FOSOAuthServerBundle? - person Miloš; 04.12.2014
comment
взгляните на этот ответ здесь. есть несколько ссылок на блог и достойный обзор того, как его настроить. - person Sehael; 04.12.2014