2012-04-17 45 views
1

我正在做一些Facebook Connect的工作,並想知道如何在Stack Overflow上進行操作,例如,您可以使用Facebook或Yahoo等其他登錄提供程序進行登錄,並且該網站可以隨時爲您提供用戶詳細信息註冊他們堆棧溢出?據我所知,您可以使用不同的電子郵件地址註冊,並且您的名字和姓氏不是唯一標識符,那麼它是如何完成的?如何使用Facebook用戶對象獲取自己的用戶對象?

回答

0

您很可能會在您的用戶表中添加一個新列,例如facebook_uid。然後,如果用戶擁有現有帳戶,則可以讓他們先登錄,然後再連接到Facebook,然後可以將他們的facebook_uid存儲在現有的user_id中。然後,如果用戶出現並已登錄Facebook,則也可以將其登錄到您的網站。如果用戶在您的網站上沒有現有帳戶,則只需創建一個帳戶(可能用Facebook上的用戶名填寫)

如果您希望允許多種登錄方式,這個表格在提供者(臉書,推特,谷歌等)和該賬戶的相關ID之間保存了一個映射,返回到用戶表。

基本要點是,當他們使用第三方登錄系統登錄時,要麼將其映射到您網站上的當前帳戶,要麼在您的網站上創建新帳戶(如果尚不存在),並且將考慮到它。您顯然需要向用戶明確這一點,或者有辦法合併帳戶,以防他們在使用第三方時尚未登錄。你也可能會要求從Facebook的電子郵件訪問和嘗試,其映射到現有的帳戶,創建一個新的

感謝

+0

如何讓他們在連接到Facebook之前登錄到其現有帳戶? – user517406 2012-04-17 07:09:28

+0

你會問他們,這是給你的。你只要讓他們連接,如果他們有一個現有的帳戶,或者你第一次連接時在你的網站上創建一個帳戶 – TommyBs 2012-04-17 07:28:57

1

這一切都取決於你的使用情況了。例如,我使用電子郵件地址作爲唯一標識符。當您使用Facebook登錄時,我的門戶也會詢問您在Facebook上的電子郵件地址。然後,它從數據庫中搜索具有匹配電子郵件地址的用戶對象。

有這樣做的不止一個辦法:

  • 只允許通過Facebook登錄。然後,您可以通過他們的電子郵件地址確定所有用戶。
  • 允許通過Facebook和用戶名/密碼登錄,但要求您的用戶在兩個地方使用相同的電子郵件地址。
  • 允許通過Facebook和用戶名/密碼登錄,並允許用戶爲每個用戶使用不同的電子郵件地址。這是最複雜的選擇。大多數網站通過要求用戶將他們的Facebook賬戶與他們的網站賬戶'配對'來解決這個問題。這意味着首次設置時,用戶需要登錄到該站點,並且在他們登錄到該站點時,他們可以登錄到Facebook。然後,您的網站存儲他們的Facebook身份(在這種情況下不需要電子郵件,只需將用戶ID存儲在字段中)。在此之後,用戶只能通過Facebook登錄,並且您可以將他們的Facebook用戶標識與您自己的數據庫中相應的用戶對象配對。

如果您有任何疑問,請將它們寫在評論中。 :)

+0

因此,當用戶在你的網站上註冊時,你有一個字段'Facebook電子郵件地址'?這聽起來像一個好主意,雖然有多少用戶在註冊時實際填寫了它? – user517406 2012-04-17 07:07:46

+0

不,我有一個電子郵件字段。 – Venemo 2012-04-17 07:56:26

+0

如果他們在他們的Facebook電子郵件地址中註冊了不同的電子郵件地址,該怎麼辦? – user517406 2012-04-17 08:04:15

相關問題