FOSOAuthServerBundle — дочерний узел & quot; провайдеры & quot; по пути «безопасность» должен быть настроен

Я пытаюсь реализовать 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 }

0

Решение

Эта ошибка не имеет ничего общего с 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 раздел.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]