Используя OpenID, как вы обрабатываете две учетные записи с одним и тем же ником?

StackOverflow https://stackoverflow.com/questions/297249

  •  08-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

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

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

Спасибо!

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top