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

实际上,当我查看StackOverflow的URL模式时,我很惊讶网址中正在使用内部用户ID。例如:

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

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

但这也开启了一个棘手的场景。如果用户想冒充别人怎么办?他们只需要创建一个假的OpenID帐户,复制昵称就可以了。当然你可以告诉谁谁在看OpenID网址,但这很可能会导致非经验用户混淆。

我正在考虑在注册过程中检查缺口,并强制用户在已经使用的情况下拿起另一个缺口。但是你必须保留新的缺口并使用它而不是OpenID中设置的那个。不太好。

有什么想法吗? <!>“不要使用OpenID <!>”;这不是一个(有效的)想法:)我的意思是,我最终可能不会使用它,但想知道我必须走多远才能使它工作<!>“正确<!>”;

谢谢!

有帮助吗?

解决方案

您可以使用Open ID中的缺口并默认系统中的缺刻选项,但不允许系统中有重复项,因此他们将被迫为您的系统选择不同的缺口。

您仍然可以存储他们的Open ID缺口并使用它,因此如果您希望他们能够不惜一切代价从OpenID显示他们的首选缺口,对于任何欺骗用户,您可以强制显示为<!> << OpenID尼克(你的独特缺口)<!>“。

所以你可能有Mike(mike1),Mike(mike2)等等任何喜欢很多用户想要的昵称的用户。我认为这会阻止任何用户选择一个非独特的缺口,因为他们不希望它以这种方式显示。

其他提示

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

由于没有关于如何为OpenID构建URL的标准,因此只需在其名称旁边填写完整的OpenID URL就会有点难看。你已经注意到了。

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

据我所知,最好的方法是为每个服务提供商创建一个单独的文件夹,例如example.com/google/username,这样做不同的提供商之间没有任何冲突,用户名的头痛应该是仅由服务提供商完成,如果你试图这样做,那将是g8混乱和其他方式如 http://stakeoverflow.com 正在......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top