2012-06-05 37 views
1

我已經創建了一個面向公衆的網站,該網站允許您使用用戶名/密碼登錄,或通過Twitter或Facebook登錄。實現普通用戶/密碼,Twitter和Facebook驗證

首次使用Twitter登錄時(例如),我的數據庫中將創建一個用戶,其中的暱稱與Twitter的屏幕名稱相匹配。我想這個暱稱爲總是是唯一的。

問題是,在某些情況下,具有該暱稱的用戶已經存在,因此用戶無法添加。我對這個問題所接受的方法並不確定,迄今爲止唯一可以看到的解決方案是要求用戶重寫他們的暱稱,但這看起來不太優雅。

暱稱需要唯一的原因不是代碼問題,而是一個接口問題,例如有論壇,我希望每個用戶都可以用他們的暱稱唯一標識。

有沒有其他方法可以建議人們處理這個問題?


編輯:在一些回覆的要求,我會澄清一個例子:

可以說我有一個名爲李四的用戶是誰在我的網站的成員。他不是Twitter或Facebook的成員。他在我的網站上的暱稱是JoeBloggs。

然後,另一個Joe Bloggs出現,並想用他的Twitter帳戶登錄。他的Twitter名字是JoeBloggs,所以當他用Twitter登錄時,我的系統嘗試自動將他的暱稱設置爲JoeBloggs。但是,這個暱稱已經存在。在這種暱稱重疊的情況下,正常或最佳做法是什麼?我唯一能想到的就是提示用戶指定一個不同的唯一暱稱(僅用於顯示在我的網站上)。

我問的原因是,這對於讓你通過Facebook,Twitter,雅虎登錄的網站來說必定是一個常見問題 - 從所述網站返回的名稱必須有重疊,所以我想知道正常情況過程是。

回答

0

您是否可以使用Twitter API來確認他們確實是他們所說的Twitter ID,如果沒有Twitter帳戶,請允許他們使用其他方式進行身份驗證(Google+,Facebook,LinkedIn,舊學校用戶名和密碼)?允許用戶使用他們不擁有的Twitter ID進行登錄似乎是要求一個受到傷害的世界。

+0

我不認爲你理解我的問題。我已經有用戶,一個龐大的用戶數據庫,他們都有暱稱。我正在考慮允許Twitter作爲新用戶註冊的附加選項。當他們使用Twitter註冊時,我想自動將他們的暱稱分配給他們的Twitter ID。如果已有用戶擁有該暱稱,則會出現問題。如果他們不擁有它,我所說的任何東西都不會允許用戶通過Twitter登錄。 – Oriental

+0

我有一個非常相似的情況 - 一個社交集成網站,用戶可以使用FB,Twitter,LinkedIn或老式用戶名/密碼登錄,然後可以連接一個或多個這些帳戶。如果您可以發佈有關您的用戶表格的詳細信息,我認爲我可以提供幫助。 – Innominate

0

也許你可以試着改變數據庫本身 - 讓像「nickOrigin」字段,允許有值,如「[yourSite]」,「推特」等,只允許新的項目,如果以相同的條目尼克和nickOrigin存在。執行一個查詢來修改現有的用戶有一個[yourSite]的nickOrigin,事情應該是向後兼容的,或者至少我想象他們的方式:)