парольные менеджеры и браузеры. Причина проста: у меня в сервисе два пароля: логин+пароль от аккаунта и мастер-пароль для генерации ключей шифрования, ну а браузерные менеджеры могут сохранять только один пароль для одного сайта. В итоге один перезаписывает другой, и каждая авторизация ведёт к какой-то дичи с подстановками, что очень мешает юзерам.
Браузеры сповадились сохранять пароли, и нет способа их вменяемо обмануть. Подробнее можно почитать тут, но в целом, короче, рабочих способов нет. Ни одного.
Есть очень обходные манёвры. Например, делать input type='text', а сверху навешивать -webkit-text-security: disc. Это херовейше по многим причинам (например, из этого филда можно копировать, и на скринкасты будут улетать keystrokes в это поле, любой килоггер в системе будет иметь к нему доступ, ну и пр.), но пока я с этим живу. Самый тихий ужас, что сафари и из этого типа филдов будет сохранять, и это вообще не отключить, хотя это даже не сраный пароль.
В общем, я подумал написать экшен, который будет брать value ивента и заменять на точечки, но чот это как-то сложно, стрелочки обрабатывать, перестановку курсора мышкой, вставки и прочие кейсы, а ошибки тут недопустимы.
Есть у кого либа на примете? Может, подскажете, иной вариант?
А генерация ключей на сабдомене могёт быть?
Я думал об этом, но это очень непросто в логистике. Это, выходит, надо развести авторизацию и само приложение на разные домены. То ли делать приложение поддоменом авторизации, чтобы куки были доступны, то ли придумывать какой-то oauth, чтобы вообще не было кук. Выглядит дико дорого и сложно из-за того, что, я очень надеюсь, когда-нибудь будет в браузерах всё же отключено.
Сорян, не понял твоего хода с точечками - какой профит от них?
Ну, это вроде обманывает парольный менеджер. Они сейчас натравливаются только на type='password' и на type='text', у которых стоит это CSS-правило. Если не делать ни то, ни другое, то по идее браузер будет воспринимать этот филд как текстовый и ничего не предложит.
https://stackoverflow.com/questions/17769429/get-input-type-text-to-look-like-type-password ну там на jquery пример, по идеи можно переписать
Обсуждают сегодня