使用symfony2进行Facebook + UserBundlevalidation
我试图在symfony2上通过facebook或userbundle对我的用户进行身份validation
以下是我到目前为止所做的工作(虽然不是我想要的,但工作起来):
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"]
该configuration的问题是,当用户没有login,他被redirect到/login(form_login),而我希望他被默认redirect到Facebook身份validation
我已经尝试简单地删除form_login,但如果我访问/login(这是我想如何用户loginFacebook以外),它不知道/ login_check路线提交login表单
也许chain_provider会是一个解决scheme? 我也没有得到它的工作
一个容易和mabye更多可用的选项将显示login页面中的所有login选项(包括脸谱,微博,开放ID或任何你想使用)
供应链确实是解决这个问题的方法。 这里是你security.ymlconfiguration应该是这样的:
providers: my_project.chain_provider: chain: providers: [fos_userbundle, my_project.facebook_provider] fos_userbundle: id: fos_user.user_provider.username_email my_project.facebook_provider: id: my_project.user_provider.facebook
当然,您需要按照此处所述定义您自己的Facebook提供商
您应该为form_login添加fos_userbundle提供程序(并保留其余的configuration):
form_login: provider: fos_userbundle
我没有挖得太多,但是我认为Symfony2在这种情况下会自动创build一个链式提供者。
你也可以写你的事件监听器在哪里你会看看用户是直接进入/login表单还是通过redirect。
- Facebook应用程序:这必须来自Canvas URL,安全canvasURL
- Facebook如何在canvas页面上设置iFrame的跨域Cookie?
- Android Facebook风格的幻灯片
- 我什么时候需要一个fb:app_id或者fb:admins?
- 如何使Facebook的评论小部件stream畅的宽度?
- Open Graph命名空间声明:带有XMLNS或头部前缀的HTML?
- 如何在search = xxxsearchFacebook Graph API时获得Like Count数量
- 自定义Android Intent.ACTION_SEND
- 给定URL不被应用程序configurationFacebook应用程序错误所允许