我创建了一个面向公众的网站,允许您使用用户名/密码、Twitter 或 Facebook 登录。
首次使用 Twitter 登录时(例如),在我的数据库中创建了一个用户,其昵称与 Twitter 屏幕名称匹配。我希望这个昵称始终是独一无二的。
问题是在某些情况下,具有该昵称的用户已经存在,因此无法添加该用户。我不确定这个问题的公认方法,到目前为止我能看到的唯一解决方案是要求用户覆盖他们的昵称,但这似乎不太优雅。
昵称需要唯一的原因不是代码问题,而是界面问题,例如有论坛,我希望每个用户都由他们的昵称唯一标识。
有没有其他人可以建议处理这个问题的方法?
编辑:应一些回复的要求,我将澄清一个例子:
假设我有一个名为 Joe Bloggs 的用户,他是我网站上的成员。他不是 Twitter 或 Facebook 的成员。他在我网站上的昵称是 JoeBloggs。
然后,另一个 Joe Bloggs 出现了,他想用他的 Twitter 帐户登录。他的 Twitter 名称是 JoeBloggs,因此当他使用 Twitter 登录时,我的系统会尝试自动将他的昵称设置为 JoeBloggs。但是,这个昵称已经存在。在这样的昵称重叠的情况下,正常或最佳做法是什么?我唯一能想到的就是提示用户指定一个不同且唯一的昵称(仅用于在我的网站上显示)。
我问的原因是,对于允许您通过 Facebook、Twitter、Yahoo 登录的网站来说,这一定是一个常见问题——从所述网站返回的名称一定有重叠,所以我想知道正常的流程是什么。