1

我创建了一个面向公众的网站,允许您使用用户名/密码、Twitter 或 Facebook 登录。

首次使用 Twitter 登录时(例如),在我的数据库中创建了一个用户,其昵称与 Twitter 屏幕名称匹配。我希望这个昵称始终是独一无二的。

问题是在某些情况下,具有该昵称的用户已经存在,因此无法添加该用户。我不确定这个问题的公认方法,到目前为止我能看到的唯一解决方案是要求用户覆盖他们的昵称,但这似乎不太优雅。

昵称需要唯一的原因不是代码问题,而是界面问题,例如有论坛,我希望每个用户都由他们的昵称唯一标识。

有没有其他人可以建议处理这个问题的方法?


编辑:应一些回复的要求,我将澄清一个例子:

假设我有一个名为 Joe Bloggs 的用户,他是我网站上的成员。他不是 Twitter 或 Facebook 的成员。他在我网站上的昵称是 JoeBloggs。

然后,另一个 Joe Bloggs 出现了,他想用他的 Twitter 帐户登录。他的 Twitter 名称是 JoeBloggs,因此当他使用 Twitter 登录时,我的系统会尝试自动将他的昵称设置为 JoeBloggs。但是,这个昵称已经存在。在这样的昵称重叠的情况下,正常或最佳做法是什么?我唯一能想到的就是提示用户指定一个不同且唯一的昵称(仅用于在我的网站上显示)。

我问的原因是,对于允许您通过 Facebook、Twitter、Yahoo 登录的网站来说,这一定是一个常见问题——从所述网站返回的名称一定有重叠,所以我想知道正常的流程是什么。

4

2 回答 2

0

也许您可以尝试更改数据库本身 - 获取像“nickOrigin”这样的字段,允许存在像“[yourSite]”、“twitter”等值,并且仅在没有具有相同 nick 和 nickOrigin 的条目存在时才允许新条目. 执行查询以修改现有用户的 nickOrigin 为 [yourSite],并且事情应该是向后兼容的,或者至少我是这样想象的 :)

于 2012-06-26T11:46:59.437 回答
0

您能否使用 Twitter API 确认他们确实是他们所说的 Twitter ID,如果没有 Twitter 帐户,允许他们通过其他方式进行身份验证(Google+、Facebook、LinkedIn、旧式用户名和密码)?允许用户使用他们不拥有的 Twitter ID 登录似乎是在要求一个受伤的世界。

于 2012-06-05T16:08:36.663 回答