Repository navigation
Посторонним вход запрещён - #11
Merged
Merged
Conversation
added 18 commits
August 20, 2025 18:53
Добавляет библиотеку jose для работы с JSON Object Signing and Encryption (JOSE). Это изменение необходимо для реализации функциональности, связанной с безопасностью и аутентификацией.
Добавляет переменные окружения для секретов JWT и JWT refresh токена. Это необходимо для настройки аутентификации и обновления токенов.
Реализует функцию проверки пароля для аутентификации пользователя. Добавляет поле id для хранения идентификатора пользователя.
Добавляет функциональность аутентификации пользователей посредством JWT. Включает в себя создание сервиса аутентификации, DTO для логина пользователя, а также конфигурационную схему для параметров JWT (секрет, время жизни, алгоритм).
Вводит собственные исключения для обработки ошибок аутентификации, такие как не найденный пользователь и неверный пароль. Это позволяет более четко обрабатывать ошибки аутентификации и предоставляет больше информации об их причинах.
Добавляет фильтр исключений `AuthExceptionFilter` для обработки ошибок авторизации. Этот фильтр перехватывает исключения типа `BaseUserException`, логирует ошибку и отправляет ответ с соответствующим HTTP-статусом и сообщением об ошибке. Другие типы ошибок передаются дальше по цепочке.
Внедряет фильтр исключений для обработки ошибок, связанных с аутентификацией. Это обеспечивает централизованную обработку ошибок аутентификации и улучшает общее управление ошибками в приложении.
Добавляет функциональность аутентификации пользователя, используя сервис аутентификации. Внедряет сервис аутентификации для проверки учетных данных пользователя и генерации токена. Возвращает токен в ответе при успешной аутентификации.
Исправляет ошибки валидации DTO, возвращая статус BAD_REQUEST с деталями ошибок. Улучшает процесс аутентификации, используя строковое представление ID пользователя для создания токена.
Добавляет дополнительные проверки и обработку ошибок для улучшения стабильности аутентификации и авторизации пользователей. Внедряет новые исключения и фильтры для централизованной обработки ошибок, что повышает информативность ответов при возникновении проблем.
Создает новый файл типизации для расширения интерфейса Request в Express, добавляя поле tokenPayload типа TokenPayload. Обновляет tsconfig.json для включения нового файла в компиляцию TypeScript.
Внедряет `ParseTokenMiddleware` для обработки токенов JWT в приложении. Это улучшает безопасность, добавляя проверку токенов при каждом запросе.
Обновляет логику создания комментариев, заменяя использование userId на authorId для более точной идентификации автора. Упрощает валидацию DTO, убирая временные поля и добавляя проверку для offerId. Также обновляет схему конфигурации JWT, увеличивая время жизни токена до 1 часа.
Создает класс `PrivateRouteMiddleware`, который проверяет наличие `tokenPayload` в запросе. Если токен отсутствует, выбрасывается ошибка с кодом UNAUTHORIZED. Это улучшает безопасность приложения, обеспечивая доступ к приватным маршрутам только для авторизованных пользователей.
… комментариев, предложений и пользователей Внедряет `PrivateRouteMiddleware` в контроллеры для обеспечения доступа к приватным маршрутам только для авторизованных пользователей. Обновляет логику обработки запросов, добавляя проверки токена в соответствующих методах. Это улучшает безопасность приложения и защищает маршруты от несанкционированного доступа.
…еля и обновляет логику метода входа. Теперь метод проверяет наличие токена и находит пользователя по email, улучшая безопасность и обработку ошибок. Также убраны лишние поля из DTO для входа пользователя.
…еля, упрощая логику и улучшая безопасность. Убраны лишние поля из DTO для входа пользователя.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds comprehensive authentication and authorization features:
🎓 Посторонним вход запрещён