2012-07-25 55 views
0

用戶詳細信息保存在名爲user的數據庫表中,其中包含用戶名和密碼等字段。現在,我需要給用戶額外的選項,使用Facebook和Twitter登錄。 我知道如何處理這些身份驗證,但我無法想象的是 -向網站用戶添加facebook/twitter登錄選項

如何識別哪個FB用戶帳戶與哪個本地用戶帳戶相關?我該怎麼做呢?

我不是在尋找代碼,而是在尋找過程。我腦海中的過程如下 - 用戶使用我的網站的用戶名和密碼登錄。那麼他們可以添加FB或Twitter作爲外部認證,當他們這樣做時,我要求他們登錄到FB。在成功的FB登錄時,我會在users表中保存一些獨特的fb id(我不知道哪些尚未檢查)。下次他們可以使用FB登錄,因爲我能夠識別它們屬於哪個本地記錄。這是你如何做到這一點?

你會建議什麼?預先感謝您的投入。

PS - 我將添加多個網絡(如linkedin和其他人),但目前只有fb和twitter。你可以這樣做

回答

1

一種方法是: @Registration

1. Allow the user to register with Facebook, Twitter 
2. Once the process has completed, redirect the user to create a username on your site 
3. Using the email obtained from Facebook, Twitter, and username from local form, insert all this information into a db table. 
4. This will allow referencing between FB, TW, and local usernames 
+0

嗯 - 但現有的用戶呢?還有管理員也會創建用戶帳戶(然後系統通過電子郵件向他們發送登錄詳細信息)。 – user1421214 2012-07-25 12:30:33

+1

嗯 - 對於現有用戶,您可以編寫一個小腳本來引用您的db中的電子郵件地址與facebook中的電子郵件地址。如果它們是相同的,則用thefacebook creds更新表格。對於手動提交,我認爲它可以以同樣的方式工作,但我不知道你有什麼設置。 – mlishn 2012-07-25 12:34:27

+0

@mlishn:你剛發佈這個時,我打字相同的事情.. 任何如何+1給你... – mrsrinivas 2012-07-25 12:35:30

0

創建一個相互關聯的表,將持有的用戶ID,Facebook或Twitter用戶ID,認證類型(Facebook或Twitter)。

+0

如何/何時我填充此表? (使用哪個用戶名到哪個社交網絡ID?) – user1421214 2012-07-25 12:32:09

+0

看,當用戶logedin在您的站點使用Facebook或Twitter時,您將獲得用戶的Facebook uderid和twitter用戶ID作爲臉書和Twitter都返回用戶ID。將所有必要的數據保存到另一個表中的用戶表和社會登錄數據中。 (首先你必須在你的網站上註冊用戶,然後你會得到最後插入的用戶ID,針對這個ID你會保持數據在新表中) – Shyantanu 2012-07-25 12:37:23

+0

而現有的用戶,你必須與id匹配,而不是電子郵件。 Coz twitter不會返回用戶電子郵件。 – Shyantanu 2012-07-25 12:44:13