Symfony 如何使用FOSOAuthServerBundle设置HWIOAuthBundle

Symfony 如何使用FOSOAuthServerBundle设置HWIOAuthBundle,symfony,hwioauthbundle,fosoauthserverbundle,Symfony,Hwioauthbundle,Fosoauthserverbundle,正在尝试将这两个捆绑包与最新的Symfony(V:2.7.2)一起使用 FOSOauth已经设置好并可以正常工作,但是添加HWIOAuthBundle并不是那么简单。按照native Read.me的说明,我想到了这一点: 服务“hwi_oauth.security.oauth_utils”依赖于 不存在的服务“hwi_oauth.resource_ownermap.api” 如何同时设置这两者?您似乎没有在要使用的防火墙(security.yml文件)中正确配置oauth部分。 例如,使用

正在尝试将这两个捆绑包与最新的Symfony(V:2.7.2)一起使用

FOSOauth已经设置好并可以正常工作,但是添加HWIOAuthBundle并不是那么简单。按照native Read.me的说明,我想到了这一点:

  • 服务“hwi_oauth.security.oauth_utils”依赖于 不存在的服务“hwi_oauth.resource_ownermap.api”

如何同时设置这两者?

您似乎没有在要使用的防火墙(security.yml文件)中正确配置oauth部分。 例如,使用Facebook:

 // app/config/config.yml

 hwi_oauth:
    firewall_name: main
    resource_owners:
        facebook:
            type: facebook
            ...
然后您需要配置主防火墙

别忘了声明facebook登录检查路线

您还需要创建一个用户提供者(您可以扩展和修改的包本身)并将其注册为服务

// app/config/services.yml

my_custom_oauth_user_provider:
    class: AppBundle\Security\OAuthUserProvider

由于您的问题是如何使用FOSOAuthServerBundle设置HWIOAuthBundle,因此有一个非常完整的指南说明如何实现这一点:

您需要使用身份验证方式“oauth”添加新的防火墙(例如安全区域)

例如:

security:
    firewalls:
        secured_area:
            anonymous: ~
            oauth:
                resource_owners:
                    facebook:           "/login/check-facebook"
                    google:             "/login/check-google"
                    my_custom_provider: "/login/check-custom"
                    my_github:          "/login/check-github"
                login_path:        /login
                use_forward:       false
                failure_path:      /login

                oauth_user_provider:
                    service: my.oauth_aware.user_provider.service

您可以找到此信息

您好,您找到方法了吗?
// app/config/services.yml

my_custom_oauth_user_provider:
    class: AppBundle\Security\OAuthUserProvider
security:
    firewalls:
        secured_area:
            anonymous: ~
            oauth:
                resource_owners:
                    facebook:           "/login/check-facebook"
                    google:             "/login/check-google"
                    my_custom_provider: "/login/check-custom"
                    my_github:          "/login/check-github"
                login_path:        /login
                use_forward:       false
                failure_path:      /login

                oauth_user_provider:
                    service: my.oauth_aware.user_provider.service