Skip to content

Настроить проверки входа (Security) #10

Description

@DyaurtM

🟦 TEAM-1 | Auth

Настроить Spring Security с JWT-аутентификацией.

Что сделать

  • SecurityConfigSecurityFilterChain:
    • Публичные: POST /api/auth/login, GET /actuator/**, /swagger-ui/**, /v3/api-docs/**
    • Всё остальное: authenticated()
  • JwtUtil: генерация + валидация токена (библиотека jjwt 0.12)
  • JwtAuthFilter extends OncePerRequestFilter: читает Authorization: Bearer <token>, валидирует, устанавливает SecurityContext
  • BCryptPasswordEncoder bean

Эндпоинт логина

POST /api/auth/login

// Request
{ "username": "admin", "password": "secret" }

// Response 200
{ "token": "eyJ...", "expiresIn": 86400000 }

Конфиг в application.yml

app:
  jwt:
    secret: ${JWT_SECRET}
    expiration-ms: ${JWT_EXPIRATION_MS:86400000}

Acceptance criteria

  • Логин с верными данными → 200 + JWT
  • Запрос без токена → 401
  • Невалидный / просроченный токен → 401
  • /actuator/health доступен без токена

Metadata

Metadata

Assignees

Labels

authАвторизация и безопасностьteam-1Месяц 1 — Core

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions