feat(auth): проверка устройств на входе — запрос доступа и превью камеры
Отключаемый модуль (instance_settings.device_check, дефолт выключен): запрос доступа к камере/микрофону на LoginPage и в карточке "Как вас зовут?" (JoinPage), живое зеркальное превью и кнопки вкл/выкл камеры и микрофона там же. На JoinPage кнопки определяют, с чем гость войдёт в конференцию (RoomPage.LiveKitRoom audio/video вместо жёстких false) — на LoginPage только пре-авторизуют разрешение, без UI (карточка ведёт в лобби, применить выбор некуда). Вход в комнату по умолчанию, как и раньше, с выключенными микрофоном/камерой. Публичный GET /api/v1/public/settings отдаёт флаг модуля обеим страницам до аутентификации.
This commit is contained in:
@@ -16,6 +16,7 @@ from api.health import router as health_router
|
||||
from api.livekit_webhook import router as livekit_webhook_router
|
||||
from api.metrics import prometheus_latency_middleware
|
||||
from api.metrics import router as metrics_router
|
||||
from api.public import router as public_router
|
||||
from api.teams import router as teams_router
|
||||
from api.users import router as users_router
|
||||
from core.config import get_settings
|
||||
@@ -76,6 +77,7 @@ def create_app() -> FastAPI:
|
||||
app.middleware("http")(prometheus_latency_middleware)
|
||||
app.include_router(health_router)
|
||||
app.include_router(metrics_router)
|
||||
app.include_router(public_router)
|
||||
app.include_router(auth_router)
|
||||
app.include_router(users_router)
|
||||
app.include_router(teams_router)
|
||||
|
||||
Reference in New Issue
Block a user