我使用这种方法安装了 FOSUserBundle 和 FOSFacebookBundle:How to make a separate url for signin via Facebook using FOSFacebookBundle in Symfony2。实际上我并没有真正理解整个安全过程,但它现在工作正常。
当有人使用 facebook 注册时,我希望在注册之前选择一个用户名(而不是 facebook id 作为用户名)......我所做的是我向 facebook 登录路由发送一个 POST 参数,但我可以' t 找到正在处理注册的控制器。
最佳做法是什么?我应该在哪里检索用户名(POST 参数)并设置它?
这是我在 security.yml 中的配置:
firewalls:
public:
pattern: ^/
fos_facebook:
app_url: "http://www.appName.com"
server_url: "http://local.appName.com/app_dev.php/"
login_path: /login
check_path: /login_check/facebook
provider: appName.facebook.provider
form_login:
login_path: /login
check_path: /login_check/form
provider: fos_userbundle
csrf_provider: form.csrf_provider
这是我用来注册 facebook 的路由:
_security_check_facebook:
pattern: /login_check/facebook