2014-12-27 238 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