首页 文章

HWIOAuthBundle和FOSUserBundle集成

提问于
浏览
2

我遵循了这两个文档: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 Config ServiceNotFoundException

但我认为我在config.yml中的ressource_owners配置得很好 .

就这个 :

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(没有任何“”我不知道我是否应该添加这个) .

3 回答

  • 2

    你也在主配置文件中包含了你的包 services.yml 吗?

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

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

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

    我的错误是我有的

    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文件中

    谢谢 .

相关问题