Files
portal/app/config/admin.php
T

30 lines
1.6 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
return [
// Логины nginx HTTP Basic Auth (.htpasswd-admin), допущенные в saas-admin зону.
// CSV из env; дефолт совпадает с прод-.htpasswd (единственный логин — admin).
'basic_auth_allowlist' => array_values(array_filter(array_map(
'trim',
explode(',', (string) env('ADMIN_ALLOWED_USERS', 'admin')),
))),
// Включение fail-closed гейта. В local/testing — выкл (nginx нет, тесты
// аутентифицируются иначе); на проде/staging — вкл. Только env() — config
// грузится до готовности контейнера, app()->environment() здесь падает.
'basic_auth_gate' => (bool) env(
'ADMIN_GATE_ENFORCED',
! in_array(env('APP_ENV', 'production'), ['local', 'testing'], true),
),
// Системный saas_admin_users.id для audit-trail admin-действий (FK
// saas_admin_audit_log.admin_user_id). На проде рантайм-роль crm_app_user НЕ
// имеет прав на saas_admin_users (админ-креды изолированы) → задаём id здесь,
// чтобы не обращаться к таблице. null (dev/test, суперюзер) → fallback на
// авто-создание стаба. На проде — ADMIN_AUDIT_SYSTEM_USER_ID=1 (сид-стаб).
'audit_system_user_id' => env('ADMIN_AUDIT_SYSTEM_USER_ID') !== null
? (int) env('ADMIN_AUDIT_SYSTEM_USER_ID')
: null,
];