尝试将这两个捆绑包与最新的 Symfony (V:2.7.2) 一起使用。
FOSOauth 已设置并且工作正常,但添加 HWIOAuthBundle 并不是那么简单。按照本机 Read.me 中的说明,我想到了这一点:
- 服务“hwi_oauth.security.oauth_utils”依赖于不存在的服务“hwi_oauth.resource_ownermap.api”。
如何将这两个设置在一起?
尝试将这两个捆绑包与最新的 Symfony (V:2.7.2) 一起使用。
FOSOauth 已设置并且工作正常,但添加 HWIOAuthBundle 并不是那么简单。按照本机 Read.me 中的说明,我想到了这一点:
如何将这两个设置在一起?
看来您没有在您希望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
您需要使用身份验证方式“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
您可以在此处找到此信息