Я пытаюсь реализовать 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 }
Эта ошибка не имеет ничего общего с 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
раздел.
Других решений пока нет …