7

如果我想提供 OpenID 作为唯一可用的注册方法,并且想对昵称做一些有意义的事情,我该如何处理 2 个具有相同 Jon Smith 昵称的用户?

实际上,当我查看 StackOverflow 的 URL 架构时,我很惊讶在 URL 中使用了内部用户 ID。例如:

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

现在我意识到这可能是为了避免这个问题。

但这也开启了一个棘手的场景。如果用户想冒充别人怎么办?他们只需要创建一个假的 OpenID 帐户,复制昵称就可以了。当然,您可以分辨出谁在查看 OpenID 网址,但这很可能会在没有经验的用户中引起混淆。

我正在考虑在注册期间检查昵称,并强制用户拿起另一个昵称,以防它已经在使用中。但是您必须保留新昵称并使用它而不是 OpenID 中设置的昵称。不太好。

有任何想法吗?“不要使用 OpenID”不是一个(有效的)想法 :) 我的意思是,很可能我最终没有使用它,但想知道我必须走多远才能让它“正常”工作。

谢谢!

4

3 回答 3

3

您可以使用 Open ID 中的昵称并将系统中的昵称选择默认为该昵称,但不允许在您的系统中重复,因此他们将被迫为您的系统选择不同的昵称。

您仍然可以存储他们的 Open ID 昵称并使用它,因此如果您希望他们能够不惜一切代价从 OpenID 显示他们首选的昵称,对于任何欺骗用户,您可以强制显示为“OpenID Nick(您的唯一昵称)” .

因此,对于喜欢很多用户想要的昵称的任何用户,您可能会拥有 Mike (mike1)、Mike (mike2) 等。我认为这会阻止任何用户选择非唯一的昵称,因为他们不希望它以这种方式显示。

于 2008-11-17T22:57:15.050 回答
1

没有假 OpenID 这样的东西,基本上 OpenID 是将 URL 空间映射到用户,并有一些关于如何传递数据的交接规则。

由于没有关于如何为 OpenID 形成 URL 的标准,因此将其完整的 OpenID URL 贴在他们的名字旁边会有点难看。你已经注意到了。

您自己的内部数据应始终被认为比用户传递的 OpenID 字段更有效。如果名称已被另一个 OpenID 声明,则让用户选择另一个名称。

于 2008-11-17T22:53:33.433 回答
1

根据我的说法,最好的方法是为每个服务提供商创建一个单独的文件夹,例如 example.com/google/username,同时这样做你不会在不同的提供商之间产生任何冲突,用户名的头疼应该由服务来完成仅提供者,如果您尝试这样做,它将是 g8 混乱和http://stakeoverflow.com正在做的其他方式......

于 2011-06-07T14:41:37.407 回答