2

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

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

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

如何将这两个设置在一起?

4

2 回答 2

1

看来您没有在您希望HWIOAuthBundle使用的防火墙(security.yml文件)中正确配置oauth部分。例如,对于 Facebook:

 // app/config/config.yml

 hwi_oauth:
    firewall_name: main
    resource_owners:
        facebook:
            type: facebook
            ...

然后你需要配置防火墙

// app/config/security.yml

main:
    pattern:   ^/
    oauth:
        resource_owners:
            facebook: "/login/check-facebook"
        oauth_user_provider:
            service: my_custom_oauth_user_provider
    ...

不要忘记声明 facebook登录检查路线

// app/config/routing.yml

facebook_login:
    path: /login/check-facebook

并且您还需要创建一个用户提供程序(捆绑包本身有一些您可以扩展和修改的内置提供程序)并将其注册为服务

// app/config/services.yml

my_custom_oauth_user_provider:
    class: AppBundle\Security\OAuthUserProvider

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

于 2015-11-17T11:34:55.007 回答
0

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

例如:

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

您可以在此处找到此信息

于 2015-11-17T13:50:38.913 回答