我正在使用Facebook集成我的一个symfony2应用程序。 我使用过FOSUserBundle和FOSFacebookUserBundle。
我可以在我的应用程序中通过表单登录并创建用户会话。 当我使用FB登录我创建的应用程序FB会话时也是如此。在这里,我想通过form_login创建我的用户会话。
FOSFacebookBundle是否会提供任何身份验证?或者我们是否需要为其创建单独的身份验证提供程序?
我完成了FOsUserBUndle和FOSFacebookBundle中给出的所有设置。
有人可以帮我吗?
答案 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。因此,我的应用程序中未设置用户会话。现在它工作正常。