{"id":20375047,"url":"https://github.com/ushliypakostnik/express-auth","last_synced_at":"2026-04-10T07:09:36.046Z","repository":{"id":44076838,"uuid":"205815523","full_name":"ushliypakostnik/express-auth","owner":"ushliypakostnik","description":"Express full auth backend module with localization on MongoDB from mLab and Express-Mailer.","archived":false,"fork":false,"pushed_at":"2023-01-03T15:06:09.000Z","size":1200,"stargazers_count":0,"open_issues_count":18,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-15T07:03:38.832Z","etag":null,"topics":["auth","authentication","babel","eslint","express","express-mailer","i18next","jest","jwt","mlab","mongodb","mongoose","passport","passport-facebook","passport-vkontakte","password","social-login"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ushliypakostnik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-02T08:51:16.000Z","updated_at":"2020-08-24T21:27:08.000Z","dependencies_parsed_at":"2023-02-01T06:45:52.976Z","dependency_job_id":null,"html_url":"https://github.com/ushliypakostnik/express-auth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ushliypakostnik%2Fexpress-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ushliypakostnik%2Fexpress-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ushliypakostnik%2Fexpress-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ushliypakostnik%2Fexpress-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ushliypakostnik","download_url":"https://codeload.github.com/ushliypakostnik/express-auth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241923887,"owners_count":20043096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auth","authentication","babel","eslint","express","express-mailer","i18next","jest","jwt","mlab","mongodb","mongoose","passport","passport-facebook","passport-vkontakte","password","social-login"],"created_at":"2024-11-15T01:28:33.123Z","updated_at":"2026-04-10T07:09:36.016Z","avatar_url":"https://github.com/ushliypakostnik.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Backend Auth Module\n===================\n\nОписание\n--------\n\nНаписанный на Express.js с Babel модуль полноценной аутентификации через JWT и Passport, использующий удаленную MongoDB с mLab и Express-Mailer.\n\n\nПримеры клиентских приложений\n-----------------------------\n\n* Репозиторий: [Create React App based frontend boilerplate](https://github.com/ushliypakostnik/react-auth), демонстрация: [https://react-auth.kafedra.org/](https://react-auth.kafedra.org/)\n\n* Репозиторий: [Vue cli based frontend boilerplate](https://github.com/ushliypakostnik/vue-auth), демонстрация: [https://vue-auth.kafedra.org/](https://vue-auth.kafedra.org/)\n\n\n### Локализация\n\nСообщения об ошибках и письма направляются пользователю на языке выбранном в момент отравки запроса на клиенте.\n\n\nAPI\n---\n\n    POST { body : { user: { usermail, password } } }\n    (optional, everyone has access)\n    ${HOST}/api/user/login\n\nОбщедоступный роут выдающий аутентификацию пользователю по адресу электронной почты и паролю и/или регистрирующий пользователя если такого емейла нет в базе.\n\n*\n\n    GET\n    (optional, everyone has access)\n    ${HOST}/api/user/facebook\n\n    GET\n    (optional, everyone has access)\n    ${HOST}/api/user/vkontakte\n\nОбщедоступные роуты позволяющие получить аутентификацию через социальные сети Facebook и VKontakte. Если полученного от соцсети адреса электронной почты пользователя нет в базе - он добавляется в нее.\n\n*\n\n    POST { user: { id } }\n    (authentication required)\n    ${HOST}/api/user/send-verify-email\n\nЗащищенный роут позволяющий отправить письмо о верификации аккаунта пользователя с переданным айди\n\n*\n\n    POST { body: { id } }\n    (optional, everyone has access)\n    ${HOST}/api/user/verify\n\nОбщедоступнй роут позволяющий верифицировать аккаунт пользователя по полученному айди\n\n*\n\n    POST { body: { usermail } }\n    (optional, everyone has access)\n    ${HOST}/api/user/remind\n\nОбщедоступный роут позволяющий отправить письмо со ссылкой на востановление пароля по переданному адресу электронной почты\n\n*\n\n    POST { body: { user: { id, password } } }\n    (authentication required)\n    ${HOST}/api/user/password\n\nЗащищенный роут позволяющий создать новый пароль для пользователя по переданному айди\n\n*\n\n    GET { user: { id } }\n    (authentication required)\n    ${HOST}/api/user/profile\n\nЗащищенный роут возвращающий профиль пользователя по переданому айди\n\n*\n\n    GET { user: { id } }\n    (authentication required)\n    ${HOST}/api/user/logout\n\nЗащищенный роут прерывающий аутентификацию\n\n*\n\n    GET\n    ${HOST}/test\n\nТестовый роут\n\n*\n\nDeploy\n------\n\nУстановка зависимостей npm packages\n\n    $ npm install\n\nDevelopment\n-----------\n\n    $ npm start\n\n    http://localhost:8082/\n\nProduction\n----------\n\nЗапуск проекта для продакшена\n\n    $ npm run prod\n\nТесты\n-----\n\nЗапуск линтера\n\n    $ npm run lint\n\nЗапуск тестов\n\n    $ npm run test\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fushliypakostnik%2Fexpress-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fushliypakostnik%2Fexpress-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fushliypakostnik%2Fexpress-auth/lists"}