FOSFacebookBundle会在symfony2中创建应用程序(用户)会话吗?

时间:2013-09-27 06:09:08

标签: symfony fosuserbundle fosfacebookbundle

我正在使用Facebook集成我的一个symfony2应用程序。 我使用过FOSUserBundle和FOSFacebookUserBundle。

我可以在我的应用程序中通过表单登录并创建用户会话。 当我使用FB登录我创建的应用程序FB会话时也是如此。在这里,我想通过form_login创建我的用户会话。

FOSFacebookBundle是否会提供任何身份验证?或者我们是否需要为其创建单独的身份验证提供程序?

我完成了FOsUserBUndle和FOSFacebookBundle中给出的所有设置。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

最后,我已经解决了这个问题。

是的,FosFacebookBundle将为应用程序创建用户会话。

我们不需要编写身份验证提供程序。(但我们应该让Facebook Provider对其进行身份验证。就像在FosFacebookBundle基本用法文档中给出的那样。)

我的security.yml防火墙配置:

firewalls:
    main:
        pattern: ^/
        anonymous:    true
        form_login:
            login_path:  /
            check_path:  _security_check
            failure_path:  login_failure
            success_handler: Projectfolder.authentication.success_handler
        fos_facebook:
            login_path: /
            check_path: _security_check_facebook
            provider: fos_facebook_provider
            default_target_path: /

        logout:
            path:   /logout
            target: /

我的routing.yml:

_security_check_facebook:
    pattern:   /facebook/login_check
    defaults:  { _controller: ProjectfolderUserBundle:Security:loginFb }

_security_facebook_logout:
    pattern:  /facebook/logout

注意:    _security_facebook_logout,我们不会在我们的应用程序中使用。注销时,我们将仅删除应用程序用户会话而不是facebook会话。我们可以在开发过程中使用此URL。

我调用了login_check而不是/ facebook / login_check。因此,我的应用程序中未设置用户会话。现在它工作正常。