我遵循了这两个文档: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配置ServiceNotFoundException
但我认为config.yml中的资源所有者配置得很好。
给你:
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(没有任何",我不知道是否应该添加这个)。
security.yml中防火墙的resources_owners
部分也必须进行配置以避免该错误。
firewalls:
main:
oauth:
resource_owners:
facebook: "/login/check-facebook"
twitter: "/login/check-google"
您的捆绑包services.yml
也包含在主配置文件中吗?
#/app/config/config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: "@UserBundle/Resources/config/services.yml" }
我的错误是我有
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 中
谢谢。