Несуществующая служба form.csrf_provider в приложении Symfony2

Я пытаюсь настроить HWIOauthBundle в своем приложении Symfony2 с помощью этой ссылки.

Когда я запускаю app/console cache:clear или composer install, я получаю это сообщение:

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]   
  The service "security.firewall.map.context.main" has a dependency on a non-  
  existent service "form.csrf_provider". 

Мой файл security.yml:

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_USER

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username_email
        in_memory:
            memory:
                users:
                    restapi:  { password: secretpw, roles: [ 'ROLE_API' ] }
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
                login_path: /login
                check_path: /login_check
            oauth:
                resource_owners:
                    facebook:           "/login/check-facebook"
                login_path:        /login
                failure_path:      /login

                oauth_user_provider:
                    service: my_user_provider
            logout:       true
            anonymous:    true
            http_basic:
                realm: "Demo REST API (username: restapi, password: secretpw)"
            stateless:  true

        login:
            pattern:  ^/login$
            security: false

            remember_me:
                key: "%secret%"
                lifetime: 31536000 # 365 days in seconds
                path: /
                domain: ~ # Defaults to the current domain from $_SERVER

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

Я искал эту ошибку в сети, но не нашел для себя подходящего решения.


person user5491046    schedule 23.11.2015    source источник
comment
Какую версию Symfony2 вы используете?   -  person Ziumin    schedule 23.11.2015
comment
Возможный ответ: form.csrf_provider устарел и удален в Symfony 3. Вместо этого используйте security.csrf.token_manager. Причина в том, что HWIOauthBundle не готов к Symfony 3.   -  person sdespont    schedule 23.11.2015


Ответы (1)


Я не могу сейчас смотреть на пакет hwio, но похоже, что у вас нет провайдера form.csrf_provider, зарегистрированного как сервис. поиск в проекте, если существует «form.csrf_provider».

person Bogdan Dubyk    schedule 23.11.2015