Авторизация в Node.js/Express через Passport.js или Auth0
На вебсайте должна быть авторизация с помощью разный сервисов, как вариант и 2-факторная. Включает в себя по эл.почте со ссылкой регистрации, соц. сети, яндекс, меил.ру, google и другие. Также, смс авторизация.
Опционально длительность сессии, которая устанавливается в профиле, хотя, с токенами можно без нее, как понял. Безопасное хнанение пароля в базе данных, наверное, через bcrypt? можно ли с помощью алгоритма ГОСТ как-то лучше это сделать? Читал про добавление salt к паролю в бд, но нет уверенности, что это лучшее решение.
Использую Node.js/Express.js и здесь Passport.js в основном подходит, но есть и auth0 решение - будет ли точно лучше и столь же гибким? Еще вариант - casbin , но не совсем понятно, даст ли реально преимущества и простоту.
https://habr.com/ru/company/ruvds/blog/335434/ - хороший материал, но окончательно не могу увидеть наилучший вариант для всей картины.
Какой шаблон проектирования лучше использовать в коде при выборе стратегии авторизации?