Вдохновлено популярной статьей про пароли.
Я утверждаю, что современная система логин/пароль не нужна современным сайтам. Я призываю требовать для авторизации только email/телефон.
Допустим ваш сайт нуждается в авторизации пользователя. Например вы продете IDE и нужно хранить лицензии, или вы регистратор доменных имен или вы сайт по продаже игр. На мой взгляд выбор решения логин/пароль является неправильным с точки зрения UX и информационной безопасности.
- Вашим пользователям нужно помнить ваш пароль.
Вы должны хранить пароли пользователей в безопасности.
Это головная больВ случае если пароли/хэши_паролей утекут вы будете винововаты. Закон Мура худо-бедно все еще работает и через какое-то время ваши хэши смогут сбрутфорсить.
Вы должны думать как обновлять пароли пользователей если ваш алгоритм их хранения внезапно стал не безопасен.
Этих проблем можно избежать.
Современная реальность — у каждого потенциального пользователя вашего сайта есть email и/или телефон и с помощью него он может зайти на ваш сайт. Вы уже храните его для сброса пароля. Если пароль можно сбросить с помощью email/телефона, значит это уже инструмент доступа до вашего сайта. Вопрос только в длине цепочки.
Как это выглядит сейчас
- Ваша форма авторизации
- Сбросить пароль
- Высылка One Time Password на email/телефон
- Ввод в форме сброса пароля OTP и нового пароля.
- Ввод в форме авторизации нового пароля.
С точки зрения безопасности ничего не измениться если упростить это
- Ваша форма авторизации
- OTP на email/телефон
- Ввод OTP /кликНаСсылку
В результате ваши пользователи не страдают от паролей, а вы не страдаете с их хранением.