7

利用可能な唯一の登録方法として OpenID を提供し、ニックネームで何か意味のあることをしたい場合、同じ Jon Smith ニックネームを持つ 2 人のユーザーをどのように扱うことができますか?

実際、StackOverflow の URL スキーマを見てみると、内部ユーザー ID が URL で使用されていることに驚きました。例えば:

https://stackoverflow.com/users/5908/z225rate

おそらくこの問題を回避するためだと思います。

しかし、これはトリッキーなシナリオの始まりでもあります。ユーザーが他人になりすました場合はどうなりますか? 偽の OpenID アカウントを作成し、ニックネームをコピーするだけです。確かに、OpenID の URL を見れば誰が誰であるかはわかりますが、経験のないユーザーの間で混乱を招く可能性が非常に高くなります。

登録時にニックネームを確認し、すでに使用されている場合に備えてユーザーに別のニックネームを取得させることを考えていました. ただし、新しいニックネームを保持して、OpenID で設定されたニックネームの代わりに使用する必要があります。よくない。

何か案は?「OpenID を使用しない」というのは (有効な) 考えではありません :) つまり、結局使用しないことになるかもしれませんが、「適切に」機能させるためにどこまで行かなければならないかを知りたいのです。

ありがとう!

4

3 に答える 3

3

Open ID のニックネームを使用して、システムのニックネームのデフォルトをそのニックネームに設定できますが、システムでの重複を許可しないため、システムに別のニックネームを選択するよう強制されます。

Open ID ニックネームを保存して使用することもできます。そのため、OpenID からの好みのニックネームを何としてでも表示できるようにしたい場合は、だまされたユーザーに対して、「OpenID ニック (あなたの一意のニックネーム)」として強制的に表示することができます。 .

したがって、多くのユーザーが必要とするニックネームを好むユーザーには、Mike (mike1)、Mike (mike2) などを使用できます。これにより、ユーザーはそのように表示されることを望まないため、一意でないニックネームを選択することを思いとどまらせると思います。

于 2008-11-17T22:57:15.050 に答える
1

私によると、最善の方法は、example.com / google / usernameなどのサービスプロバイダーごとに個別のフォルダーを作成することです。これを行うと、異なるプロバイダー間で競合が発生することはありません。ユーザー名の問題はサービスごとに行う必要があります。プロバイダーのみであり、そうしようとすると、g8の混乱や、http: //stakeoverflow.comが行っている他の方法になります...

于 2011-06-07T14:41:37.407 に答える
1

偽の OpenID などというものはありません。基本的に、OpenID は URL 空間をユーザーにマッピングし、データの受け渡し方法について少しルールを引き継ぎます。

OpenID の URL を形成する方法に関する標準がないため、名前の横に完全な OpenID URL を平手打ちするのは少し醜いでしょう。あなたがすでに指摘したこと。

独自の内部データは、ユーザーによって渡された OpenID フィールドよりも常に有効であると見なされる必要があります。名前が別の OpenID によって既に要求されている場合は、ユーザーに別の名前を選択してもらいます。

于 2008-11-17T22:53:33.433 に答える