Используя OpenID, как вы обрабатываете 2 аккаунта с одинаковым ником - PullRequest
7 голосов
/ 18 ноября 2008

Если я хочу предоставить OpenID в качестве единственного доступного метода регистрации и хочу сделать что-то значимое с псевдонимом, как я могу обработать 2 пользователей с одинаковым псевдонимом Jon Smith?

На самом деле, когда я смотрел на схему URL StackOverflow, я был удивлен, что в URL использовался внутренний идентификатор пользователя. Например:

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

Теперь я понимаю, что возможно, чтобы избежать этой проблемы.

Но это также открывает сложный сценарий. Что если пользователи захотят выдать себя за кого-то другого? Им просто нужно создать фальшивую учетную запись OpenID, скопировать ник и все. Конечно, вы можете сказать, кто, кто просматривает URL-адрес OpenID, но вполне вероятно, что это вызовет путаницу среди неопытных пользователей.

Я думал о том, чтобы проверить ник во время регистрации и заставить пользователя выбрать другой, если он уже использовался. Но тогда вы должны сохранить новый ник и использовать его вместо того, который установлен в OpenID. Не красиво.

Есть идеи? «Не использовать OpenID» не является (действительной) идеей:) Я имею в виду, вполне возможно, что в итоге я не буду его использовать, но хочу знать, как далеко я должен был бы пойти, чтобы заставить его работать «должным образом».

Спасибо!

Ответы [ 3 ]

3 голосов
/ 18 ноября 2008

Вы можете использовать ник из Open ID и использовать по умолчанию выбор ник в вашей системе, но не допускайте дублирования в вашей системе, поэтому они будут вынуждены выбрать другой ник для вашей системы.

Вы по-прежнему можете сохранять их ник OpenID и использовать его, поэтому, если вы хотите, чтобы они могли отображать предпочитаемый ник из OpenID любой ценой, для любых пользователей с дублированием вы можете принудительно отобразить их как «OpenID Nick (ваш уникальный идентификатор»). ник)».

Таким образом, у вас может быть Майк (mike1), Майк (mike2) и т. Д. Для любого пользователя, который предпочитает ник, который хотят многие пользователи. Я думаю, что это будет препятствовать любым пользователям выбирать неуникальный ник, так как они не захотят, чтобы он отображался таким образом.

1 голос
/ 07 июня 2011

По моему мнению, лучший способ - создать отдельную папку для каждого поставщика услуг, например example.com/google/username, при этом у вас не будет конфликтов между различными поставщиками, поэтому головная боль имен пользователей должна быть выполняется только поставщиком услуг, и если вы попытаетесь это сделать, это будет беспорядок в g8 и другие способы, как http://stakeoverflow.com делает ...

1 голос
/ 18 ноября 2008

Не существует такого понятия, как фальшивый OpenID, в основном OpenID отображает пространство URL для пользователя, с небольшим количеством правил ручной передачи о том, как передавать данные.

Поскольку не существует стандарта на то, как формировать URL для OpenID, было бы немного некрасиво просто добавить их полный URL OpenID рядом с их именем. Который вы уже заметили.

Ваши собственные внутренние данные всегда должны считаться более действительными, чем поля OpenID, переданные пользователем. Попросите пользователя выбрать другое имя, если имя уже заявлено другим OpenID.

...