错误 Symdony2 与 hwiOAuthBundle:您已请求不存在的服务



我在Symfony2的一个项目中工作,我需要使用 facebook 用户登录我的应用程序,所以我安装了HwiOAuthBundle,当我运行我的应用程序时,我收到此错误:You have requested a non-existent service "hwi_oauth.account.connector"

这是我对捆绑包的配置:

config.yml:

hwi_oauth:
  firewall_name: main_hwi
  http_client:
      verify_peer: false
  connect: 
      confirmation: true
  resource_owners:
    facebook:
      type: facebook
      client_id: "%oauth.facebook.id%"
      client_secret: "%oauth.facebook.secret%"

安全.yml

security:
    encoders:
        SymfonyComponentSecurityCoreUserUser: plaintext
        OCUserBundleEntityUser: sha512
    role_hierarchy:
        ROLE_ADMIN:       [ROLE_AUTEUR, ROLE_MODERATEUR]
        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    providers:        
        hwi:
            id: oc.oauth.user_provider
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false                         
        main_hwi:
            context: user
            pattern: /.*
            oauth:
                resource_owners:
                    facebook: /login/check-facebook
                login_path: /connect
                failure_path: /connect
                oauth_user_provider: 
                    service: oc.oauth.user_provider
            logout: true
            anonymous: true      
    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

路由.yml

hwi_oauth_connect:
    resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
    prefix:   /connect
hwi_oauth_redirect:
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
    prefix:   /connect
hwi_oauth_login:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix: /login
facebook_login: 
    pattern: /login/check-facebook   

oc_platform:
    resource: "@OCPlatformBundle/Resources/config/routing.yml"
    prefix:   /platform     

用户提供程序.php

<?php
namespace OCPlatformBundleOAuth;
use HWIBundleOAuthBundleSecurityCoreUserOAuthUserProvider as BaseOAuthUserProvider;
class UserProvider extends BaseOAuthUserProvider {          
}

我终于找到了 2 个解决此问题的有用教程。 以下是链接

Symfony2 with HwiOAuthBundle Without FOSUserBundle

Symfony2 with HwiOAuthBundle with FOSUserBundle

最新更新