Closed imblowfish closed 2 years ago
Тут годно шаги расписаны https://stackoverflow.com/questions/33422511/understanding-authentication-flow-with-refresh-and-access-tokens-on-nodejs-app https://medium.com/@sugandhasaxena1212/access-token-and-refresh-token-with-node-js-a501e1cc034b
Тут годные диаграмки https://www.bezkoder.com/node-js-jwt-authentication-mysql/
Более-менее новые примеры с JWT https://medium.com/quick-code/how-to-use-jwt-for-express-nodejs-628ddf9f7c83 https://www.digitalocean.com/community/tutorials/nodejs-jwt-expressjs#step-2-authenticating-a-token
Хэширование паролей на стороне сервера https://www.codespot.org/hashing-passwords-in-nodejs/ https://attacomsian.com/blog/nodejs-password-hashing-with-bcrypt https://www.loginradius.com/blog/engineering/hashing-user-passwords-using-bcryptjs/ https://jasonwatmore.com/post/2020/07/20/nodejs-hash-and-verify-passwords-with-bcrypt
Дополнил запросы в Thunder Environment'ом Нужно зайти в Thunder->Env, там создать Env с параметрами access_token username password При login получить access_token, вписать к переменной и сохранить После этого зайти в Collections->Выбрать коллекцию->Settings, там выбрать привязку к Environment
В данной задаче не сделаны
Еще в этой задаче не сделан перезапрос токена доступа, это тоже решил оставить на задачу по переработке ui
Задачу можно поделить на несколько частей
Библиотеки http://www.passportjs.org/
Готовые сервера для авторизации https://auth0.com/ https://github.com/erkanzileli/go-auth
Примеры С passport.js https://www.dotnettricks.com/learn/nodejs/authentication-authorization-using-passport-js Серия статей об аутентификации, особенно интересен момент, когда подключаются к текущему аккаунту аккаунты с других сервисов (Google, Facebook) и как они хранятся внутри приложения, может пригодиться для хранения информации из телеграм бота и Google в БД, а не conf-файле у нас https://github.com/scotch-io/easy-node-authentication
В идеале, после завершения этой задачи можно избавиться от Proxy в конфиге и каких-либо изменений конфигурационного файла оставив его только для того, для чего он предназначен - базовая конфигурация приложения