Pergunta

Se eu quiser fornecer OpenID como o único método de inscrição disponível e quer fazer algo significativo com o nome nick, como posso lidar com 2 usuários com o mesmo apelido Jon Smith?

Na verdade, quando eu olhei para esquema de URL do StackOverflow Fiquei surpreso que o ID do usuário interna estava sendo usado na URL. Por exemplo:

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

Agora eu percebo que é provavelmente para evitar este problema.

Mas isso também abre um cenário complicado. E se os usuários querem alguém impersonate mais? Eles só precisa criar uma conta falsa OpenID, copie o nick e lá vai você. Claro que você pode dizer quem é quem olhar para o url OpenID, mas é muito provável que vai causar confusão entre os usuários não-experientes.

Eu estava pensando sobre como verificar o nick durante o registo e forçar o usuário para pegar outro caso já estava em uso. Mas então você tem que manter o novo nick e usá-lo em vez de um criado em OpenID. Não agradável.

Todas as idéias? "Não use OpenID" não é uma ideia (válido):) Quero dizer, ele pode muito bem ser que eu acabar não usá-lo, mas quero saber o quão longe eu teria que ir para fazê-lo funcionar "adequadamente".

Obrigado!

Foi útil?

Solução

Você pode usar um nick de Open ID e padrão a escolha nick em seu sistema para isso, mas não permitem duplicatas em seu sistema, então eles serão forçados a escolher um nick diferente para seu sistema.

Você ainda pode armazenar suas Open ID nick e usá-lo, então se você quer que eles sejam capazes de exibir o seu nick preferido de OpenID a todo o custo, para os usuários dupe, você poderia forçar exibição como "OpenID Nick (o seu único nick)".

Assim, você pode ter Mike (mike1), Mike (mike2), etc. para qualquer usuário que prefere um nick que muitos usuários querem. Gostaria de pensar que isso iria desencorajar os usuários a partir de escolher um nick não-exclusivo, uma vez que eles não vão querer que seja exibido dessa forma.

Outras dicas

Não existe tal coisa como um falso OpenID, basicamente OpenID está mapeando um espaço URL para um usuário, com um pouco de mão de regras sobre a forma de passar dados ao redor.

Uma vez que não existe um padrão sobre como formar uma URL para OpenID seria um pouco feio só colocar a sua plena OpenID URL ao lado de seu nome. Que você já observou.

Seus próprios dados internos deve sempre ser considerado mais válido, então os campos OpenID passados ??pelo usuário. Que o usuário selecione outro nome se um nome já é reivindicada por outro OpenID.

Segundo a mim, a melhor maneira é criar uma pasta separada para cada prestador de serviço como example.com/google/username, ao fazer isso, você não tem qualquer conflito entre diferentes provedores, a dor de cabeça de nomes de usuário deve ser feito pelo prestador de serviços apenas, e se você tentar fazê-lo será g8 bagunça e as outras maneiras como http://stakeoverflow.com está fazendo ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top