2015-11-23 7 views
0

Я пытаюсь настроить HWIOauthBundle в своем приложении Symfony2 с помощью этого link.несуществующий сервис «form.csrf_provider» в приложении 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 } 

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

+0

Какую версию Symfony2 вы используете? – Ziumin

+4

Возможным ответом будет то, что form.csrf_provider будет отстранен и удален в Symfony 3. Вместо этого используйте security.csrf.token_manager. Причина в том, что HWIOauthBundle не готов к Symfony 3. – sdespont

ответ

-1

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