我一直在用HWIOAuthBundle与整整一天战斗,我无法得到它所需要的。Symfony 3,HWI OAuth with Doctrine,自动注册,无FOS UserBundle
我想要oauth-only登录,所以没有表单登录,没有注册,一切都通过oauth。我想在他们首次登录时使用我从oauth获得的个人资料数据自动创建新的用户帐户。我不想使用FOS UserBundle,因为我没有看到它提供给我的是我真正需要的功能(我在其他项目中使用它)。
现在我实现了我自己的用户提供程序,从包含的EntityUserProvider继承,我在每个方法中引发异常,只是为了查看它从哪里获取用户数据,而没有一个被触发。
于是我正式放弃并向社区寻求帮助。这里是我的CONFIGS:
security:
providers:
oauth:
id: campfire.user_provider
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
anonymous: ~
oauth:
resource_owners:
facebook: "/login/check-facebook"
google: "/login/check-google"
login_path: /login/
use_forward: false
failure_path: /login/
oauth_user_provider:
oauth: ~
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
services:
campfire.user_provider:
class: CampfireBundle\Security\OAuthUserProvider
arguments: ["@doctrine", CampfireBundle\Entity\Author, {facebook: facebook_id, google: google_id}]
config.yml设置根据文档,因为它包含了我的客户ID和秘密没有张贴。
我在做什么错,它显然不是打电话给我的用户提供者?
我觉得Guard是更容易实现,所以尽管这并不直接回答这个问题,它可能是最好的答案。 – Tom