2010-02-24 118 views
7

我最近實施登錄到我的通過Facebook連接。所以現在用戶有兩種登錄網站的方式。舊帳戶註冊方式和新方式(Facebook連接)。鏈接新用戶通過Facebook登錄連接到現有帳戶

我想要做的一件事是鏈接一個新的Facebook連接用戶帳戶到現有帳戶,如果他們以舊的方式登錄。

有沒有人有過這樣的成功?

回答

4

非常好的問題我認爲很多人會從答案中受益。

你需要記住的是,只有賬戶被授權通過Facebook進行鏈接才能連接。你應該做的是在數據庫中維護第二張關聯賬戶表,以便知道誰是誰以及他們是否與Facebook鏈接。

您應該閱讀本綜合評論,它提供了很多有用的信息。

http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html

它並沒有真正說如何做的事情,但它可以確保你打勾的你應該做的事情所有的箱子。

即:如果用戶拒絕 權限的應用程序

會員註冊應該失敗(類別:註冊 高達)

由於我們需要訪問的電子郵件 地址,註冊應該失敗如果 用戶提供發佈權限,但 拒絕電子郵件許可(類別: 註冊)

如果用戶提供了emai l地址 已經存在於您的系統中, 註冊失敗。確保沒有YouFace 後臺表被修改(類別: 註冊,1:1映射)PS - 當這個 發生時,我沒有找到一種方法讓您 代表Facebook用戶代表YouFace取消授權YouFace。如果用戶希望您使用 相同的帳戶但提供 不同的電子郵件地址,則用戶必須手動執行此操作。

帳戶使用Facebook的 連接不應該能夠使用YouFace的默認電子郵件/密碼 登錄系統(:登錄, 帳戶安全類別)登錄 創建。PS:由於YouFace 賬戶需要密碼,並使用Facebook Connect創建的那些 不這樣做, 轉載時請務必插入隨機密碼哈希 到表,以避免愚蠢的錯誤

帳戶使用YouFace應該創建 能登錄,而無需 被簽署成爲Facebook的,即使 時,一個網站的鏈接賬戶 存在(類別:登錄)

任何更多

1

您應該要求通過fb連接認證進行永久訪問。一旦你這樣做了,你會得到一個令牌,它允許你訪問某人的Facebook信息,並且該令牌不會過期,除非用戶明確地將你從權限列表中刪除或更改他/她的密碼。

擁有令牌後,將該令牌與用戶關聯/在用戶表中創建一個新字段以存儲該令牌。

要將用戶與未經用戶登錄的Facebook帳戶相關聯,可以嘗試通過電子郵件進行匹配。這不是100%準確的,但它非常好。 Facebook不會以文本形式爲您提供電子郵件地址,但您可以從FQL獲取電子郵件散列。由於您已經知道用戶電子郵件地址,因此您可以計算所有用戶電子郵件的散列值,並在每次新的Facebook Connect用戶註冊時通過用戶羣搜索匹配結果。

相關問題