我需要實現Facebook連接到用戶已經擁有內部帳戶的網站。如果內部帳戶不存在,則應從Facebook憑據創建。也應該可以將現有帳戶鏈接到Facebook帳戶。技術實現對我來說很清楚,但我對實用,最佳和易於理解的用戶活動工作流程感興趣。用Facebook帳戶綁定網站用戶帳戶的最佳工作流程
1)我最初的想法是有一個登錄表單用戶名和密碼字段和兩個按鈕:「connect with facebook」和「login」。如果按下「登錄」,則內部帳戶通常會登錄。如果按下「連接facebook」,用戶將連接到Facebook,然後根據用戶和密碼的狀態,我可以檢索內部用戶並將其綁定與Facebook用戶,或創建一個新的內部用戶,並將其綁定到Facebook用戶,或檢索綁定到Facebook用戶的內部用戶。但是,我在工作流程中發現了一些問題。如果輸入的用戶和密碼與綁定到Facebook帳戶的用戶和密碼不同,則該怎麼辦?
我會盡量說明僞問題:
if "login" is pressed:
internal_user = authenticate(username, password)
if "connect to facebook" is pressed:
facebook_user = get_facebook_user()
if username and password are filled in:
internal_user = authenticate(username, password)
if facebook_user has no internal_user:
facebook_user.bind_internal_user(internal_user)
else:
# conflict! what to do with it?
# facebook_user.get_internal_user() != internal_user
else:
if facebook_user has internal_user:
internal_user = facebook_user.get_internal_user()
else:
internal_user = facebook_user.create_internal_user()
internal_user.login()
而且用戶可能會感到困惑,詢問自己是否需要進入Facebook的用戶名和密碼或網站的用戶名和密碼。
2)另一種選擇可以是具有登錄表單,連接到Facebook,和登記表作爲三個不同的選項,其中,連接到Facebook要麼獲得或創建內部帳戶;然後分開可選表格爲登錄用戶綁定他們的Facebook帳戶。但是,再次有可能留下創建一個重複的內部帳戶。
處理這些問題的最佳做法是什麼?其他網站主要使用什麼?
這正是我在發佈這個問題和一些更多的頭腦風暴之後所決定的。 :) – 2010-09-23 20:48:33
只是一個評論,我真的很討厭Facebook的連接網站,也需要你有他們的網站上的Un/PW設置必須記住除了Facebook登錄。我認爲不良行爲的一個例子是reverbnation.com。所以如果可能的話,請不要他們必須管理第二個密碼。 :)只是我的2C。 – DMCS 2011-12-28 05:47:18