在我的Symfony 2.6网站中,我有一个可用的登录表单。 我现在正致力于基于Facebook SDK的注册/身份验证。
在Facebook方面,我没有问题,创建了用户本地帐户并登录了。
但是,当我以编程方式验证Facebook注册用户时(刚刚首次注册),Symfony在调试工具栏中说用户已登录,但未经过身份验证:
如果用户注销,然后再次登录(但不使用Symfony表单,但仍然是我的系统),则它已经过完全验证:
这里是我用来验证Facebook用户的代码:
$token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles());
$this->get('security.token_storage')->setToken($token);
此代码用于在注册时和登录时验证Facebook用户。 如果用户未完全通过身份验证会产生什么后果?以及如何在首次注册时完全验证用户?
这是我在Pastebin上的身份验证方法:http://pastebin.com/d5T2umGx
答案 0 :(得分:0)
看起来您可能已经忘记发送登录活动。
//now dispatch the login event
$event = new InteractiveLoginEvent($request, $token);
$this->get("event_dispatcher")->dispatch("security.interactive_login", $event);