Что касается формулировок, я не люблю использовать термин «WebAuthn» — считаю, что он может запутать конечных пользователей. Лучше использовать «ключ безопасности» или что-то подобное.
Мне бы очень не хотелось даже задумываться о «первом факторе» или «безпарольной» аутентификации в данном контексте. На мой взгляд, нам нужно выпустить эту функцию и работать с ней в течение 3–4 месяцев, прежде чем рассматривать подобные вопросы.
Особенно учитывая, что у нас уже есть вход через электронную почту, поэтому технически пользователь может забыть свой пароль.
Я согласен, что логика процесса должна быть следующей: если у пользователя есть соответствующие API и ключ WebAuthn, следует сначала попытаться использовать WebAuthn, но при этом предоставить пользователю возможность выхода из ситуации. Также имейте в виду, что у пользователя может быть несколько устройств WebAuthn; в этом случае я бы последовал подходу Google по решению подобных вопросов (например, ссылка «Выбрать другой вариант» или что-то подобное).
Одна вещь, о которой я думаю в долгосрочной перспективе и которую стоит вынести в отдельный пункт: мы могли бы использовать «приложение Discourse» для двухфакторной аутентификации (2FA), что было бы довольно круто, @pmusaraj. Это сделало бы использование 2FA гораздо более распространённым.