使用symfony2进行Facebook + UserBundle身份验证

Lem*_*m0n 34 php facebook symfony

我正在尝试通过facebook或userbundle在symfony2上验证我的用户

这是我到目前为止所做的事情(虽然不是我想要的,但它有效):

firewalls:
    main:
        pattern: .*
        fos_facebook:
            app_url: "http://apps.facebook.com/appName/"
            server_url: "http://localhost/facebookApp/"
            login_path: /fblogin
            check_path: /fblogin_check
            default_target_path: /
            provider: my_fos_facebook_provider
        form_login:
            check_path: /login_check
        anonymous: true
        logout:
            handlers: ["fos_facebook.logout_handler"]
Run Code Online (Sandbox Code Playgroud)

该配置的问题是,当用户未登录时,他被重定向到/ login(form_login),而我希望他默认重定向到Facebook身份验证

我已经尝试过简单地删除form_login,但是如果我访问/登录(这是我希望用户在facebook外登录的方式),它就不知道提交登录表单的/ login_check路由

也许chain_provider会是一个解决方案?我也没有让它工作

小智 0

您应该为 form_login 添加 fos_userbundle 提供程序(并保留其余配置):

form_login:
    provider: fos_userbundle
Run Code Online (Sandbox Code Playgroud)

我没有深入挖掘,但我认为 Symfony2 在这种情况下会自动创建一个链式提供程序。