Skip to content

Latest commit

 

History

History
 
 

011-nestjs-authentication

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию «2.6 Аутентификация в NestJS, passport.js. Guards»

Правила выполнения домашней работы:

  • Выполняйте домашнее задание в отдельной ветке проекта на гитхабе.
  • В поле для сдачи работы прикрепите ссылку на ваш проект в Git.
  • Присылать на проверку можно каждую задачу по отдельности или все задачи вместе.
  • Во время проверки по частям ваша домашняя работа будет со статусом «На доработке».
  • Любые вопросы по решению задач задавайте в Slack.

Задание 1

Создать модуль для регистрации (signup) и аутентификации (signin) пользователей (AuthModule). После аутентификации пользователя необходимо генерировать JWT токен и возвращать его на клиент. Payload JWT должен содержать следующую структуру данных:

{
  id: "string", // id пользователя
  email: "string", // email пользователя
  firstName: "string" // firstName пользователя
}

Методы

метод url действие комментарий
POST /api/users/signup регистрация пользователей для регистрации пользователей необходимо использовать следующую структуру данных: { email: "string", password: "string", firstName: "string", lastName: "string" }
POST /api/users/signin аутентификация пользователей для аутентификации пользователей необходимо использовать следующую структуру данных: { email: "string", password: "string" }

Опционально: Зарегистрированные пользователи должны сохраняться в MongoDB.

Задание 2

Создать собственную стратегию JWT с использованием Passport. JWT секрет неоходимо хранить в .env файле.

Задание 3

Создать авторизационный Guard с использованием реализованной стратегии JWT. Подключить авторизационный Guard к контроллерам для авторизации пользовательских запросов.