Интеграция HWIOAuthBundle и FOSUserBundle


Я следил за этими двумя документами : https://github.com/hwi/HWIOAuthBundle/tree/master/Resources/doc (для HWIOAuth) https://gist.github.com/danvbe/4476697 (для интеграции HWIOAuth с FOSUB)

И я получаю эту ошибку

Исключение Servicenotfoundexception: Вы запросили несуществующую службу "hwi_oauth.resource_ownermap.main".

Я обнаружил ту же ошибку в stackoverflow : Конфигурация Symfony2.3 - HWIOAuthBundle Исключение ServiceNotFoundException

Но я думаю, что мои владельцы ресурсов в файле config.yml хорошо настроены.

Вот оно:

 fos_user:
    db_driver: orm
    firewall_name: main
    user_class: MyProject\UserBundle\Entity\User
    registration:
        form:
            type: myproject_user_registration
        confirmation:
            enabled: true
            template: FOSUserBundle:Registration:email.txt.twig



 hwi_oauth:
    firewall_name: main
    fosub:
        username_iterations: 30
        properties:
            yahoo: yahoo_id
            google: google_id
            windows_live: windows_live_id
            linkedin: linkedin_id
    resource_owners:
        any_name:
            type:                yahoo
            client_id:           X
            client_secret:       X
        any_name:
            type:                google
            client_id:           X
            client_secret:       X
            scope:               X 
        any_name:
            type:                windows_live
            client_id:           X
            client_secret:       X           
        any_name:
            type:                linkedin
            client_id:           X
            client_secret:       X
            scope:               X

У меня есть правильные значения вместо X (без каких-либо "" Я не знаю, следует ли мне это добавлять).

Author: Community, 2013-08-02

3 answers

Раздел resources_owners брандмауэра в security.yml также должен быть настроен, чтобы избежать этой ошибки.

firewalls:
    main:
        oauth:
            resource_owners:
                facebook:           "/login/check-facebook"
                twitter:            "/login/check-google"
 2
Author: Terence Johnson, 2013-08-02 20:20:08

Также вы включили свой пакет services.yml в основной конфигурационный файл?

 #/app/config/config.yml

 imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: "@UserBundle/Resources/config/services.yml" }
 1
Author: mirk, 2013-08-03 04:41:38

Моя ошибка заключалась в том, что у меня было

    secured_area:
         oauth:
             resource_owners:
                 facebook:           "/login/check-facebook"
                 twitter:            "/login/check-google"

Вместо

    main:
         oauth:
             resource_owners:
                 facebook:           "/login/check-facebook"
                 twitter:            "/login/check-google"

В файле security.yml

Спасибо.

 1
Author: Sandoche, 2013-08-05 09:47:38