Год назад я и моя команда думали о том, какую систему паролей мы собираемся использовать. Сначала, как и у обычных людей, первая идея, которая пришла нам в голову, заключалась в использовании типичных и общих: имя пользователя и пароль, хранение хэшированного пароля в базе данных, как обычно для других платформ, но вдруг увидел эту статью

да, хеширование пароля и его сохранение в базе данных будет/является ржавым

Другая интересная статья об этом может быть (это новее, но идет в направлении больше не использовать или не хранить пароль) => https://www.weforum.org/agenda/2020/01/ 4-причины-пароли-уходят-в-прошлое/

Итак, мы взяли новое направление, используя Magic Link, новый известный способ входа пользователя в систему. но проблемы не исчезнут, если просто знать направление движения, нам нужно найти способ создать систему MagicLink.

Следующей идеей, которая пришла нам в голову, было реализовать простую базу данных, в которой мы будем хранить уникальные пароли (хешированные или GUID) и имя пользователя, чтобы каждый раз, когда пользователь запрашивал новую ссылку Magic,наша система должна создавать новый элемент в нашей базе данных и удалять его, когда он используется, хорошо для одного пользователя, но как насчет 100 000 пользователей? это много запросов на написание, поиск и удаление элементов, это может привести к ненужным расходам.

Затем, поработав несколько недель, я нашел хорошую идею и провел рефакторинг, чтобы создать лучший простой модуль npm, где вы можете легко создавать Одноразовые пароли для своих пользователей (@frani /easy-no-password) без необходимости устанавливать базу данных или что-то еще.

этот модуль генерирует буквенно-цифровой токен на основе имени пользователя, секрета и отметки времени, и его время жизни составляет 5 минут, после чего токен будет недействителен.

Экономьте время, экономьте БД, повышайте безопасность и, конечно же, экономьте деньги. Все ресурсы сохранены простым способом, таким образом

установите модуль в свой проект:

$ npm install  @frani/easy-no-password

пример кода

это все, легко.

Если вам это нравится, пожалуйста, дайте мне начать мой репозиторий в Github, https://github.com/frani/easy-no-password

спасибо, что прочитали

с уважением

франи.-