• Stefy Lanza (nextime / spora )'s avatar
    admin: optional SSO through a trusted reverse proxy (v0.2.85) · e51b5b14
    Stefy Lanza (nextime / spora ) authored
    Implements docs/admin-forward-auth.md. Off by default, switchable from
    Settings -> Single sign-on, from config.json, or from the container's env
    (CODERAI_ADMIN_FORWARD_AUTH=1|0, CODERAI_ADMIN_FORWARD_AUTH_SECRET) — the
    env switch can disable it as well as enable it, so a unit file can override
    a mounted config either way.
    
    A request is forward-authed only when BOTH checks pass: the immediate peer
    is in trusted_proxies AND the shared secret header matches (constant time).
    Either alone is forgeable, so the identity header is not even read until
    trust is established — a client sending X-Forwarded-User directly is
    ignored. Enabled with no secret stays OFF with a log line, because without
    one there is nothing separating the proxy from any other client.
    
    It mints a real signed session and injects it into the current request, not
    just a rendered page: the dashboard's own /admin/api/* calls authenticate
    by cookie, so a page with 401ing AJAX would not be a working GUI. An
    auto-created account gets a random password nobody is told and is never
    asked to change it. keep_local_login=false makes /login refuse. Logout
    honours post_logout_url, since returning to our own login would be met by
    the proxy's headers and log the user straight back in.
    
    GUI only: /v1/* keeps its bearer tokens whatever the proxy asserts, and the
    readiness probes stay credential-free. The settings API reports
    shared_secret_set as a boolean and never the secret.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    e51b5b14
Name
Last commit
Last update
..
test_admin_auth.py Loading commit data...
test_admin_forward_auth.py Loading commit data...
test_admin_remote_ui.py Loading commit data...
test_audio_ml_backends.py Loading commit data...
test_audio_ml_endpoints.py Loading commit data...
test_broker_config.py Loading commit data...
test_broker_dispatch.py Loading commit data...
test_broker_protocol.py Loading commit data...
test_broker_streaming.py Loading commit data...
test_burst_placement.py Loading commit data...
test_character_studio_fetch.py Loading commit data...
test_cluster.py Loading commit data...
test_compose.py Loading commit data...
test_front_api_auth.py Loading commit data...
test_front_ocr_swap_gate.py Loading commit data...
test_image_has_c_compiler.py Loading commit data...
test_longcat_avatar_layout.py Loading commit data...
test_longcat_bsa.py Loading commit data...
test_longcat_cancellable.py Loading commit data...
test_longcat_checkpoint_resolve.py Loading commit data...
test_longcat_component_quant.py Loading commit data...
test_longcat_config_ui.py Loading commit data...
test_longcat_external_training.py Loading commit data...
test_longcat_int8_load.py Loading commit data...
test_longcat_lora.py Loading commit data...
test_longcat_orchestration.py Loading commit data...
test_longcat_packaging.py Loading commit data...
test_longcat_placement.py Loading commit data...
test_longcat_prompt_cache.py Loading commit data...
test_longcat_quantize.py Loading commit data...
test_longcat_scale.py Loading commit data...
test_longcat_tasks.py Loading commit data...
test_longcat_variants.py Loading commit data...
test_longcat_vendored_source.py Loading commit data...
test_longcat_venv_env.py Loading commit data...
test_longcat_vram_estimate.py Loading commit data...
test_longcat_worker.py Loading commit data...
test_manual_multimodal_test_client.py Loading commit data...
test_model_scan_cache.py Loading commit data...
test_ocr_olmocr.py Loading commit data...
test_ocr_vram_share_and_fallback.py Loading commit data...
test_remote_execution.py Loading commit data...
test_runpod_ocr_remotization.py Loading commit data...
test_runpod_schedule_region_spend.py Loading commit data...
test_studio_composed_surfaces.py Loading commit data...
test_surya_runpod_fixes.py Loading commit data...
test_township_api_key.py Loading commit data...
test_township_longcat.py Loading commit data...
test_township_page_js.py Loading commit data...
test_township_templates.py Loading commit data...
test_township_video_dataset.py Loading commit data...
test_upgrade_launcher.py Loading commit data...
test_video_as_b64_scope.py Loading commit data...
test_vllm_share_self_tuning.py Loading commit data...
test_vram_releasers.py Loading commit data...
test_weight_stores.py Loading commit data...
test_whisper_server_local_models.py Loading commit data...