Вдохновлено популярной статьей про пароли.


Я утверждаю, что современная система логин/пароль не нужна современным сайтам. Я призываю требовать для авторизации только email/телефон.


Допустим ваш сайт нуждается в авторизации пользователя. Например вы продете IDE и нужно хранить лицензии, или вы регистратор доменных имен или вы сайт по продаже игр. На мой взгляд выбор решения логин/пароль является неправильным с точки зрения UX и информационной безопасности.


  1. Вашим пользователям нужно помнить ваш пароль.
  2. Вы должны хранить пароли пользователей в безопасности.


    Это головная боль

    В случае если пароли/хэши_паролей утекут вы будете винововаты. Закон Мура худо-бедно все еще работает и через какое-то время ваши хэши смогут сбрутфорсить.
    Вы должны думать как обновлять пароли пользователей если ваш алгоритм их хранения внезапно стал не безопасен.




Этих проблем можно избежать.


Современная реальность — у каждого потенциального пользователя вашего сайта есть email и/или телефон и с помощью него он может зайти на ваш сайт. Вы уже храните его для сброса пароля. Если пароль можно сбросить с помощью email/телефона, значит это уже инструмент доступа до вашего сайта. Вопрос только в длине цепочки.
Как это выглядит сейчас


  1. Ваша форма авторизации
  2. Сбросить пароль
  3. Высылка One Time Password на email/телефон
  4. Ввод в форме сброса пароля OTP и нового пароля.
  5. Ввод в форме авторизации нового пароля.

С точки зрения безопасности ничего не измениться если упростить это


  1. Ваша форма авторизации
  2. OTP на email/телефон
  3. Ввод OTP /кликНаСсылку

В результате ваши пользователи не страдают от паролей, а вы не страдаете с их хранением.