42 lines
1.8 KiB
Python
42 lines
1.8 KiB
Python
from typing import Dict
|
|
from config.environment import EnvironmentLoader
|
|
|
|
class SessionConfig:
|
|
"""Настройки сессий и авторизации"""
|
|
|
|
# Настройки сессий
|
|
SESSION_TIMEOUT = EnvironmentLoader.get_env_variable('SESSION_TIMEOUT', 1800) # 30 минут
|
|
SESSION_COOKIE_NAME = EnvironmentLoader.get_env_variable('SESSION_COOKIE_NAME', 'session')
|
|
SESSION_COOKIE_SECURE = EnvironmentLoader.get_env_variable('SESSION_COOKIE_SECURE', True)
|
|
SESSION_COOKIE_HTTPONLY = EnvironmentLoader.get_env_variable('SESSION_COOKIE_HTTPONLY', False)
|
|
|
|
# Настройки администратора для тестов
|
|
ADMIN_USERNAME = EnvironmentLoader.get_env_variable('ADMIN_USERNAME', 'muts')
|
|
ADMIN_PASSWORD = EnvironmentLoader.get_env_variable('ADMIN_PASSWORD', 'Abc1205')
|
|
|
|
@classmethod
|
|
def get_admin_credentials(cls) -> Dict[str, str]:
|
|
"""Получение учетных данных администратора"""
|
|
return {
|
|
"username": cls.ADMIN_USERNAME,
|
|
"password": cls.ADMIN_PASSWORD,
|
|
}
|
|
|
|
@classmethod
|
|
def get_session_headers(cls) -> Dict[str, str]:
|
|
"""Получение заголовков для сессий"""
|
|
headers = {
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0",
|
|
"Accept": "application/json",
|
|
"Content-Type": "application/json",
|
|
"Host": "localhost:8080",
|
|
"Origin": "http://localhost:8080",
|
|
}
|
|
|
|
if cls.SESSION_COOKIE_SECURE:
|
|
headers["X-Requested-With"] = "XMLHttpRequest"
|
|
|
|
return headers
|
|
|
|
# Экспорт конфигурации
|
|
session_config = SessionConfig
|