Я полагаю, у вас есть две разные проблемы; Авторизация и персонализация.
Большинство сайтов будут использовать электронную почту для однозначной авторизации кого-либо, поскольку они уже гарантированно будут уникальными. SO использует открытую аутентификацию, что означает, что я давно не указывал «имя пользователя» для аутентификации с ними. Мой OpenID содержит мой адрес электронной почты и мой пароль и обрабатывает часть авторизации для SO.
Другая часть - это персонализация, которая, безусловно, должна позволять пользователям выбирать дубликаты имен, если они того пожелают. Это должно быть привязано к деталям аутентификации и обычно выполняется с использованием отдельного уникального номера, сгенерированного специально сайтом. Затем он связывает имя пользователя для авторизации и имя пользователя для отображения. Я предполагаю, что это также является частью первичного ключа в любой структуре базы данных, в которой хранятся пользователи.
Если вы проверите ссылки для каждого имени профиля, вы увидите число в URL-адресе, и это то, что однозначно идентифицирует вас на сайте и привязывает twitter
к вашему адресу электронной почты / имени пользователя для входа в систему под номером 629665
. Ссылка на вашу страницу пользователя https://stackoverflow.com/users/629665/twitter
Несмотря на то, что я четко вижу выбранное отображаемое имя и ваш уникальный идентификатор на сайте, я не знаю вашу авторизационную личность, которую вы можете сохранить в тайне и которая помогает вам обезопасить себя.