Skip to content

Backend 6.3: Глобальный JWT Guard и Public декоратор #84

@SuvStreet

Description

@SuvStreet

Сделать все endpoints защищёнными по умолчанию, с возможностью пометить публичные через @public().

  • Создать декоратор @Public()SetMetadata('isPublic', true) в apps/api/src/auth/decorators/public.decorator.ts
  • Обновить JwtAuthGuard — проверять метаданные isPublic, если true — пропускать без проверки токена
  • Зарегистрировать JwtAuthGuard как APP_GUARD в AuthModule через APP_GUARD provider
  • Пометить @Public() существующие публичные endpoints: POST /auth/register, POST /auth/login
  • Проверить что GET /api/docs (Swagger) остаётся доступным
  • Написать e2e-тест: запрос без токена на защищённый endpoint → 401, запрос на @Public() endpoint → 200

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions