Commit Graph

4 Commits

Author SHA1 Message Date
Ганеев Артем
83910be95d Переход на использование переменных окружения для секретов
Безопасность:
- Секреты (токены JWT, пароль БД) теперь читаются из переменных окружения
- Удалены секретные данные из application.yaml
- Добавлен .env.example для документации
- .env уже в .gitignore

Изменения:
- Обновлен config.go для загрузки переменных окружения
- Добавлена библиотека godotenv для удобной работы с .env
- Добавлена валидация обязательных переменных окружения
- Поддержка переопределения любых настроек через env

Обязательные переменные окружения:
- DB_PASSWORD - пароль базы данных
- ACCESS_TOKEN_SECRET - секрет для access токенов
- REFRESH_TOKEN_SECRET - секрет для refresh токенов

Опциональные переопределения:
- DB_HOST, DB_PORT, DB_NAME, DB_USER
- ACCESS_TOKEN_TTL_MINUTES, REFRESH_TOKEN_TTL_MINUTES
- SERVER_PORT

Документация:
- Добавлен README.md с полной документацией API
- Описание структуры проекта
- Инструкции по настройке и запуску
- Примеры использования API

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 21:30:12 +03:00
Ганеев Артем
397dad830f Добавлена гибкая система авторизации на основе ролей
- Добавлен базовый middleware userIdentity для валидации токенов
- Реализован middleware requireRole для проверки конкретных ролей
- Добавлены вспомогательные методы requireAdmin, requireTeacher, requireStudent
- Обновлена структура роутов с разделением прав доступа
- Добавлены примеры handler'ов: getAllUsers, getUserByUsername, deleteUser
- Исправлен роутинг api группы (было router.Group, стало serviceRouter.Group)

Теперь поддерживается:
- GET /api/users - доступ для всех авторизованных пользователей
- GET /api/users/:username - доступ для всех авторизованных
- POST /api/users/:username - только для администраторов
- DELETE /api/users/:username - только для администраторов

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 21:23:29 +03:00
Ганеев Артем
736b8031f8 Добавлен основные классы для сервиса авторизаци 2025-10-28 20:49:54 +03:00
Ганеев Артём
def3552a67 Инициализация проекта + первые наработки 2025-01-04 10:42:04 +03:00