Documentation / @tenancy-node/admin-api / AdminOptions
Interface: AdminOptions
Defined in: admin-api/src/context.ts:64
Extended by
Properties
allowedHosts?
optionalallowedHosts?: readonlystring[]
Defined in: admin-api/src/context.ts:70
Hosts desde los que responde. Por defecto los dominios centrales, localhost y 127.0.0.1.
bodyLimitBytes?
optionalbodyLimitBytes?:number
Defined in: admin-api/src/context.ts:85
Tamaño máximo del body. Por defecto 1 MiB.
clientIp?
optionalclientIp?: (req) =>string|null|undefined
Defined in: admin-api/src/context.ts:113
IP del cliente a mano (por ejemplo req.ip de Express). Tiene prioridad sobre trustProxy.
Parameters
req
IncomingMessage
Returns
string | null | undefined
cookieName?
optionalcookieName?:string
Defined in: admin-api/src/context.ts:75
impersonationTtlSeconds?
optionalimpersonationTtlSeconds?:number
Defined in: admin-api/src/context.ts:79
Vida de los tokens de impersonación. Por defecto 60 s.
impersonationUrl?
optionalimpersonationUrl?: (input) =>string
Defined in: admin-api/src/context.ts:81
URL que abre la sesión impersonada en la app del tenant.
Parameters
input
domain
string | null
tenantId
string
token
string
Returns
string
issuer?
optionalissuer?:string
Defined in: admin-api/src/context.ts:91
Nombre en la app de autenticación (2FA). Por defecto tenancy-node.
leads?
optionalleads?:boolean|LeadsOptions
Defined in: admin-api/src/context.ts:119
Formulario público "Solicitar demo" de la web comercial: POST <prefix>/leads sin sesión. Por defecto apagado (el panel igual lista y gestiona las solicitudes que crees con admin.leads.create()). Cada solicitud publica el evento lead.created.
loginRateLimit?
optionalloginRateLimit?:object
Defined in: admin-api/src/context.ts:77
Intentos de login fallidos antes de bloquear. Por defecto 5 cada 15 min (por IP y por email).
max
max:
number
windowMs
windowMs:
number
logoMaxBytes?
optionallogoMaxBytes?:number
Defined in: admin-api/src/context.ts:87
Tamaño máximo del logo que se sube desde el editor de tema. Por defecto 2 MiB.
maskedColumns?
optionalmaskedColumns?:RegExp
Defined in: admin-api/src/context.ts:83
Columnas que el explorador de datos oculta.
prefix?
optionalprefix?:string
Defined in: admin-api/src/context.ts:68
Prefijo de la API. Por defecto /admin/api.
publicDocs?
optionalpublicDocs?:boolean
Defined in: admin-api/src/context.ts:89
/openapi.json sin autenticación. Por defecto true.
secureCookies?
optionalsecureCookies?:boolean
Defined in: admin-api/src/context.ts:72
Cookies Secure (HTTPS). Por defecto true; desactívalo solo en desarrollo local.
sessionSecret
sessionSecret:
string
Defined in: admin-api/src/context.ts:66
Secreto para los tokens CSRF (mínimo 32 caracteres). Usa una variable de entorno.
sessionTtlMs?
optionalsessionTtlMs?:number
Defined in: admin-api/src/context.ts:74
Duración de las sesiones. Por defecto 8 h.
tenantFields?
optionaltenantFields?: readonlyTenantField[]
Defined in: admin-api/src/context.ts:109
Campos de tenant.data que pide el formulario "Nuevo tenant" (por ejemplo el email del administrador inicial, que después lee el seed). Además se pueden cargar datos libres.
tenantUsers?
optionaltenantUsers?:TenantUsersAdapter
Defined in: admin-api/src/context.ts:111
Usuarios de la app en cada tenant: el panel los lista, los crea y entra como ellos.
trustProxy?
optionaltrustProxy?:number|boolean
Defined in: admin-api/src/context.ts:104
Detrás de un proxy (nginx, un balanceador), toma la IP del cliente de X-Forwarded-For para el límite de intentos de login y la auditoría. true confía en todo el encabezado (usa la primera IP); un número, en esa cantidad de proxies (cuenta desde la derecha). Por defecto false: la IP es la del socket. Actívalo solo si el panel no es accesible sin pasar por el proxy, porque el encabezado lo puede escribir cualquiera.
ui?
optionalui?:string|boolean
Defined in: admin-api/src/context.ts:96
Servir la interfaz del panel en el prefijo sin /api (/admin). true usa @tenancy-node/admin-ui; o la ruta de una UI compilada. Por defecto no se sirve.