76 lines
3.0 KiB
Markdown
76 lines
3.0 KiB
Markdown
# Документация проекта
|
||
|
||
## Модули
|
||
|
||
### Аутентификация и авторизация
|
||
|
||
Подробная документация: [auth.md](auth.md)
|
||
|
||
Основные возможности:
|
||
- Гибкая система аутентификации с использованием локальной БД и Redis
|
||
- Система ролей и разрешений (RBAC)
|
||
- OAuth интеграция (Google, Facebook, GitHub)
|
||
- Защита от брутфорс атак
|
||
- Управление сессиями через Redis
|
||
- Мультиязычные email уведомления
|
||
- Страница авторизации для админ-панели
|
||
|
||
Конфигурация:
|
||
```python
|
||
# settings.py
|
||
JWT_SECRET_KEY = "your-secret-key" # секретный ключ для JWT токенов
|
||
SESSION_TOKEN_LIFE_SPAN = 60 * 60 * 24 * 30 # время жизни сессии (30 дней)
|
||
```
|
||
|
||
### Административный интерфейс
|
||
|
||
Основные возможности:
|
||
- Защищенный доступ только для авторизованных пользователей с ролью admin
|
||
- Автоматическая проверка прав пользователя
|
||
- Отдельная страница входа для неавторизованных пользователей
|
||
- Проверка доступа по email или правам в системе RBAC
|
||
|
||
Маршруты:
|
||
- `/admin` - административная панель с проверкой прав доступа
|
||
|
||
## Запуск сервера
|
||
|
||
### Стандартный запуск
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### Запуск с поддержкой HTTPS
|
||
Для локальной разработки с HTTPS используйте скрипт `run.py` с инструментом mkcert:
|
||
|
||
```bash
|
||
# Установите mkcert
|
||
# macOS:
|
||
brew install mkcert
|
||
# Linux:
|
||
# sudo apt install mkcert (или эквивалент для вашего дистрибутива)
|
||
# Windows:
|
||
# choco install mkcert
|
||
|
||
# Установите локальный CA
|
||
mkcert -install
|
||
|
||
# Запуск с HTTPS на порту 8000 через Granian
|
||
python run.py --https
|
||
|
||
# Запуск с HTTPS на другом порту
|
||
python run.py --https --port 8443
|
||
|
||
# Запуск с несколькими рабочими процессами
|
||
python run.py --https --workers 4
|
||
|
||
# Запуск с указанием домена для сертификата
|
||
python run.py --https --domain "localhost.localdomain"
|
||
```
|
||
|
||
При первом запуске будут автоматически сгенерированы доверенные локальные сертификаты с помощью mkcert.
|
||
|
||
**Преимущества mkcert:**
|
||
- Сертификаты распознаются браузером как доверенные (нет предупреждений)
|
||
- Работает на всех платформах (macOS, Linux, Windows)
|
||
- Простая установка и настройка |