Ответы:
В зависимости от вашей целевой аудитории ( «нормальные», очень разбирающиеся в технологиях, или происходящий из социальных сетей) либо :
или же
У обоих есть свои проблемы.
В некоторых аудиториях адреса электронной почты сильно меняются. Вам нужен хороший механизм восстановления учетной записи, желательно с возможностью добавить несколько адресов электронной почты для каждой учетной записи. Но, тем не менее, адреса электронной почты в качестве имен пользователей превосходят самостоятельно выбранные имена пользователей, потому что люди могут их запомнить, а использование только электронной почты + пароль упрощает процесс регистрации.
OpenID, Facebook Connect и т. Д. Отлично. Но косвенное выражение «Я на сайте B , и я не могу войти в систему. Мне нужно перейти на сайт A, чтобы проверить свои учетные данные», массовый рынок пока не понимает. OpenID прекрасно работает с очень технически подкованной аудиторией, как это видно на сайтах Stack Exchange ...
Вывод: вам необходимо тщательно продумать вашу целевую аудиторию и, если возможно, запустить тест на удобство использования различных механизмов аутентификации в коридоре .
Есть проблемы с обоими, хотите верьте, хотите нет.
Кажется, люди меняют свою электронную почту почти постоянно. Чем они моложе, тем хуже. По этой причине сложно связать аккаунты с электронной почтой. Тем не менее, электронные письма кажутся людям легче запомнить, чем имена пользователей.
Имена пользователей хороши тем, что они не часто меняются, но люди часто забывают их. Тогда вам придется иметь дело как с системой поиска пароля, так и с системой поиска имени пользователя. Двойная работа, половина удовольствия.
Я лично делаю и то, и другое, когда делаю сайт без какой-либо системы открытых идентификаторов. Я собираю оба, сохраняю оба в БД, затем ищу на основе введенного логина, чтобы увидеть, какое из них они намеревались использовать. Очевидно, это означает отсутствие символов @ в именах пользователей. Тем не менее, пользователям очень легко запомнить хотя бы один из двух вариантов. Для поиска я использую систему запроса, так как я настороженно отношусь к электронным письмам в целях проверки. Хакеры могут получать электронные письма ... они могут не знать, как зовут первую собаку человека или его любимая машина.
OpenId делает большую часть этого аргумента менее важной. Это хорошая вещь, чтобы проверить.
Это также может зависеть от того, как вы храните информацию о пользователе. Например, если вы используете базу данных с первичным ключом в качестве имени пользователя, вы, вероятно, не захотите использовать адрес электронной почты в качестве имени пользователя, поскольку, если пользователь изменит свой адрес электронной почты, это изменит первичный ключ (и испортит любые ссылки на внешние ключи).
Вы можете захотеть иметь поле имени пользователя, если хотите, чтобы пользователи скрывали свой адрес электронной почты или настоящее имя от других пользователей / посетителей.
Вместо этого его часто называют псевдонимом, и иногда его можно изменить на лету, не влияя на имя пользователя.
Я думаю, что ответ зависит от того, что вы собираетесь делать с информацией, которую вы собираете, например, не отправляете электронные письма пользователя - не спрашивайте адрес электронной почты, не отображайте информацию о пользователе, не собирайте ник и т. Д.
Имя пользователя, адреса электронной почты и OpenId имеют свои плюсы и минусы.
Но никогда не называйте это именем пользователя и требуйте, чтобы это был адрес электронной почты!
При регистрации я ввожу одно из моих предпочтительных имен пользователей в качестве имени пользователя. И это злит меня, когда - после нажатия OK - я получаю сообщение о том, что имя пользователя не является действительным адресом электронной почты.