ユーザー名/パスワード、Twitter、または Facebook を使用してログインできる一般向けの Web サイトを作成しました。
初めて Twitter にログインすると (たとえば)、Twitter のスクリーン ネームと一致するニックネームを持つユーザーがデータベースに作成されます。このニックネームは常に一意であってほしいです。
問題は、場合によっては、そのニックネームを持つユーザーが既に存在するため、ユーザーを追加できないことです。この問題に対して受け入れられているアプローチについては確信が持てません。これまでに確認できる唯一の解決策は、ユーザーにニックネームを上書きするように依頼することですが、これはあまりエレガントではないようです。
ニックネームが一意である必要がある理由は、コードの問題ではなく、インターフェイスの問題です。たとえば、フォーラムがあり、各ユーザーをニックネームで一意に識別したいと考えています。
この問題に対処するために誰かが提案できる他の方法はありますか?
編集:いくつかの返信のリクエストで、例を明確にします:
私の Web サイトのメンバーである Joe Bloggs という名前のユーザーがいるとします。彼は Twitter や Facebook のメンバーではありません。私のサイトでの彼のニックネームは JoeBloggs です。
その後、別の Joe Bloggs がやってきて、彼の Twitter アカウントでサインインしようとしています。彼の Twitter 名は JoeBloggs であるため、彼が Twitter でサインインすると、私のシステムは彼のニックネームを自動的に JoeBloggs に設定しようとします。ただし、このニックネームは既に存在します。このようなニックネームが重複する場合の通常またはベスト プラクティスは何ですか? 私が考えることができる唯一のことは、ユーザーに別の一意のニックネームを指定するように求めることです (私のサイトに表示するためだけに)。
私が尋ねる理由は、これは Facebook、Twitter、Yahoo 経由でログインできるサイトに共通の問題であるに違いないということです。これらの Web サイトから返される名前には重複があるはずです。