2013-01-23 12 views
3

我有一個我無法解決的特殊用例。當用戶點擊Facebook Connect並在我的數據庫中找到類似的電子郵件時。我想詢問用戶賬戶是否屬於他。FOSFacebookBundle + FosUserBundle電子郵件存在於BDD中

如果答案是肯定的,他需要連接他的賬戶,然後在數據庫中添加Facebook ID

如果答案是否定的,我創建了一個數據庫中的新用戶並登錄。

我不覺得要做到這一點的最好辦法。有人能幫我嗎 ?

+0

我已經實現了Facebook提供程序和LoadByUsername方法。當它檢測到電子郵件存在時,我嘗試將數據傳輸到控制器。我不知道這是否是最好的方法。 – Pinou

回答

2

在控制器,你可以檢查數據庫是否存在使用電子郵件用戶FOS束用戶管理

$user = $this->get('fos_user.user_manager')->findUserByEmail($email); 

用戶確認後,就可以使用Facebook的實施提供做必要的行動。

之間,我對你有一個問題,

「如果答案是否定的,我在數據庫中創建一個新用戶並登錄。」

如何用同一封電子郵件創建新用戶(假設電子郵件是唯一的)?

+0

如果電子郵件存在,我已經檢查過,但在我的情況下,涉及的問題涉及到我想詢問帳戶是否屬於嘗試連接的用戶。 – Pinou

+0

爲什麼你想確認收益?因爲用戶已經通過Facebook驗證了他的電子郵件。我會忽略這一步。順便說一句,有什麼問題? – Venu

相關問題