У меня есть веб-приложение, которое использует двухстраничный процесс аутентификации:
- Захват имени пользователя и пароля от пользователя (
login.x.com/#/login
) - Захват трех символов изпользовательское «запоминающееся слово» (
login.x.com/#/login/memorable
) - Отправьте данные на сервер через службу AngularJS $ http (POST)
- Обработайте ответ и либо перейдите к шагу 3, либо повторитешаг 2
- Перенаправить пользователя на его домашнюю страницу (
app.x.com/#/dashboard
)
Второй шаг в настоящее время состоит из трех односимвольных текстовых полей (<input type="password" maxlength="1" size="1" ...... />
)где пользователю предлагается ввести символы m , n и o из их запоминающегося слова.
Проблема заключается между шагами 2 и 3;в настоящее время Chrome предлагает пользователю обновить свой пароль для сайта, используя один из введенных им символов из запоминающегося слова.У меня нет желания останавливать пользователя, хранящего его пароль, но я бы хотел выяснить, как не дать Chrome попытаться обновить свой пароль одним из символов из их запоминающегося слова.
Вещи, которые я пытался, но безуспешно:
- Настройка
autocomplete="off"
для ввода символов запоминаемого слова - Настройка
autocomplete="new-password"
для ввода символов запоминаемого слова - Установка
autocomplete="memorable-word-character"
на вводимых символах запоминающихся слов.Это не «хорошо известный» тип автозаполнения «, но его судили по принципу« он не может повредить и стоит того, чтобы его попробовать » <input type="password" style="display:none"/>
, как предлагается в ответах на некоторые другие вопросы
Я бы предпочел , а не , чтобы значительно изменить пользовательский интерфейс, например, изменить тип ввода, чтобы он больше не был password
, или изменить текстовые поля на выпадающие.Последнее связано с тем, что в настоящее время мы разрешаем использовать любой символ, кроме пробела, в запоминающемся слове, так что это не реально.
Существует ли стандартный и общепринятый способ сообщить Chrome (и другим браузерам), чтоэти поля не являются полями пароля пользователя?