HWIOAuthBundle & FOSUserBundle integration


HWIOAuthBundle & FOSUserBundle integration

我遵循了这两个文档: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(没有任何",我不知道是否应该添加这个)。

security.yml中防火墙的resources_owners部分也必须进行配置以避免该错误。

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

您的捆绑包services.yml也包含在主配置文件中吗?

 #/app/config/config.yml
 imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: "@UserBundle/Resources/config/services.yml" }

我的错误是我有

    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 中

谢谢。