自定义身份验证 - 用户已记录但未经过身份验

时间:2014-12-27 15:55:46

标签: php symfony

在我的Symfony 2.6网站中,我有一个可用的登录表单。 我现在正致力于基于Facebook SDK的注册/身份验证。

在Facebook方面,我没有问题,创建了用户本地帐户并登录了。

但是,当我以编程方式验证Facebook注册用户时(刚刚首次注册),Symfony在调试工具栏中说用户已登录,但未经过身份验证:

fig1

如果用户注销,然后再次登录(但不使用Symfony表单,但仍然是我的系统),则它已经过完全验证:

fig2

这里是我用来验证Facebook用户的代码:

$token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles());
$this->get('security.token_storage')->setToken($token);

此代码用于在注册时和登录时验证Facebook用户。 如果用户未完全通过身份验证会产生什么后果?以及如何在首次注册时完全验证用户?

这是我在Pastebin上的身份验证方法:http://pastebin.com/d5T2umGx

1 个答案:

答案 0 :(得分:0)

看起来您可能已经忘记发送登录活动。

//now dispatch the login event
$event = new InteractiveLoginEvent($request, $token);
$this->get("event_dispatcher")->dispatch("security.interactive_login", $event);