2014-12-27 241 views
1

在我的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用户,在他们的注册和登录时。 如果用户没有完全验证,会有什么后果?以及如何在首次注册时完全验证用户身份?

下面就我的引擎收录的身份验证方法:http://pastebin.com/d5T2umGx

+0

设置令牌后,是否刷新页面,然后检查它们是否已登录/验证? – 2014-12-27 17:10:58

+0

是的,页面被重新加载并且用户在再次登录之前没有被认证。 – 2014-12-27 17:31:43

回答

0

它看起来像你may've忘记派遣一个登录事件。

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

谢谢,但它没有改变任何东西。 – 2014-12-27 16:44:36