Простая регистрация, авторизация, аутентификация API на Node.js
Здесь описана простая регистрация, авторизация и аутентификация API на Node.js, для реальной работы, желательно дополнительно учитывать, что токены должны иметь ограниченный срок действия, также должно быть ограничение на количество попыток аутентификации.
В этом файле все достаточно стандартно.
Этот файл возвращает промиссы взаимодействия с базой данных.
Все самое интересное в файле routes/index.js:
Давайте рассмотрим подробнее, что здесь делаем:
Подключаем модуль ‘bcryptjs’ — он необходим для шифрования пароля, так как в базе данных нужно хранить пароль в зашифрованном виде.
Подключаем модуль ‘uuid/v4’ — для генерации рандомного токена.
Регистрация
Регистрация от нас ожидает post запрос, в теле (body) которого три поля: email, password, repeatPassword
Дальше сравниваем совпадает ли поля password и repeatPassword, если не совпадают генирим ошибку и пробрасываем ее дальше.
Далее ищем пользователя в базе данных, если пользователь найден, также генерируем ошибку и пробрасываем ее дальше.
Если все хорошо, то добавляем пользователя в базу данных, зашифровав пароль:
Авторизация пользователя
Этот роут ожидает от нас post запрос с двумя полями email и password. В случае успешного завершения возвращает «токен» иначе ошибку.
В начале ищем пользователя в базе данных, если не находим то генерируем ошибку и пробрасываем дальше.
Если находим, то проверяем пароль:
Функция проверки пароля:
Если пароль верный генерируем токен:
Далее очищаем предыдущие токены, которые были в базе данных по этому пользователю и записываем новый.
Если все хорошо, то возвращаем токен пользователю.
Открытый роут
При обращении на localhost:3000, нам вернется всегда ‘Добро пожаловать’, так как это открытый роутер и мы его ничем не закрывали.
Закрытый роут
Отличие лишь в том, что здесь добавлен миделвар auth — который проверяет можно ли пользователю просматривать страницу, и который сравнивает в headers запросе параметр ‘Authorization’ со значением в базе данных, если находит в базе данных токен, тогда разрешает, иначе возвращает ошибку ‘Не авторизован’:
Личный кабинет Teachbase: вход в профиль, преимущества учетной записи
Teachbase — это онлайн-платформа для организации дистанционного образования, самостоятельного создания курсов или проведения вебинаров. Максимально понятный и доступный интерфейс разрабатывался при внимательном изучении отзывов клиентов. На сайте доступен удобный сбор интересующих курсов, обучение без участия специалистов и хранение информации в облаке. Сервис Teachbase успешно работает уже 10 лет, сегодня на портале есть множество полезной информации, онлайн-курсов разных направлений, тестов и вебинаров. Для того чтобы получить полный доступ ко всем возможностям системы, рекомендуется пройти регистрацию личного кабинета на портале Teachbase.
Войти в личный кабинет
Пошаговый процесс авторизации в профиле
Авторизация проводится по такому алгоритму:
- Зайти на сайт по адресу https://teachbase.ru.
- Справа найти кнопку «Войти» и нажать на нее.
- Форма входа содержит всего две строки — для логина и пароля, заданных при регистрации.
- В завершение требуется кликнуть по вкладке «Войти в систему».
Важно! Система предлагает альтернативный способ входа — через социальные сети Фейсбук, Вконтакте, Яндекс и Гугл.
Как выполняется регистрация учетной записи
Для создания аккаунта нужно выполнить такие действия:
- Если пользователь еще не имеет своего аккаунта, ему придется пройти процесс регистрации. Он начинается со входа на главную страницу сайта https://teachbase.ru.
- В правом верхнем углу есть окно «Попробовать демо», на него нужно нажать.
- В открывшемся окне появляется регистрационная анкета. В ней нужно последовательно указать имя пользователя, адрес электронной почты, номер мобильного телефона, название компании и количество сотрудников.
- Система после этих действий автоматически получает от пользователя согласие со всеми правилами сайта.
- После этого для завершения регистрации на электронную почту приходит письмо с инструкциями. Далее пользователь получает 14 бесплатных дней использования сервиса.
Важно! В профиле можно купить материалы к пройденным курсам в электронном виде.
Как получить новый пароль
Если пользователь забыл пароль от своего аккаунта, его можно восстановить. Для этого в форме входа выбирается строка «Забыли пароль?».
Для восстановления нужно указать свой электронный адрес или телефон — на выбор пользователя. После этого нужно нажать кнопку «Выслать пароль». На почту или на телефон приходит письмо с паролем, который указывался пользователем при регистрации.
Преимущества профиля
В аккаунте доступны такие функции:
- Загрузка, хранение самостоятельно подготовленных презентаций, документов, материалов и видео.
- Создание и редактирование собственных учебных курсов.
- Добавление новых пользователей с использованием максимального функционала возможностей системы.
- Выполнение проверочных и отчетных заданий с последующей проверкой знаний в формате тестирования.
- Работа с документами: составление отчетов по результатам проведения тестирований.
- Получение в помощь удобных и мощных инструментов для создания учебных материалов.
- Получение помощи опытных методистов, которые не только будут способствовать созданию качественных курсов, но и найдут ошибки и недочеты в уже созданных.
Важно! В аккаунте доступно создание, размещение и проведение собственных вебинаров.
В профиле можно изучить действующие тарифы. В настоящее время есть такие тарифы:
- Начальный с количеством пользователей до 50 человек. В него входят наличие наставника, базовая техподдержка, автоматизация обучения, новости и календарь обучения. Доступна также мобильная версия, платежные модули и базовое брендирование. Стоимость такого тарифа составляет 84 790 рублей в год.
- Начальный на количество пользователей до 100 человек, стоимость 165 890 рублей в год. Помимо функций первого тарифа, добавляются форму и доступ к API.
- Оптимальный включает до 300 пользователей (446 960 рублей в год). Доступны такие функции, как аналитика, модуль, опросы и собственные роли.
- Оптимальный до 500 пользователей (593 000 рублей в год). Доступна функция магазин наград.
- Индивидуальный. Это самый дорогостоящий тариф, за который нужно заплатить 896 849 рублей в год. Он доступен на количество пользователей от 500 человек. В дополнение ко всем функциям идет Телеграм чат-бот.
Мобильной версии сайта Teachbase пока нет. Браузерная версия предназначена для преподавателей и тренинг-менеджеров, они используют ее с персональных компьютеров. Лица, проходящие на платформе обучение, могут использовать отдельное мобильное приложение Teachbase. Это система дистанционного образования, которая доступна со смартфонов и планшетов с операционной системой Андроид или iOS. Для мобильного приложения не предусмотрено регистрации, достаточно того, что пользователь был зарегистрирован в браузерной версии.
Контакты
Если у пользователя возникают сложности с работой платформы, с личным кабинетом или с мобильным приложением, можно обращаться по номеру телефона 8-495-660-36-43. Это служба технической поддержки, которая работает с понедельника по пятницу с 10:00 до 10:00 по времени МСК.