Skip to content

Documentation / @tenancy-node/admin-api / ServeAdminOptions

Interface: ServeAdminOptions ​

Defined in: admin-api/src/admin.ts:401

Extends ​

Properties ​

allowedHosts? ​

optional allowedHosts?: readonly string[]

Defined in: admin-api/src/context.ts:70

Hosts desde los que responde. Por defecto los dominios centrales, localhost y 127.0.0.1.

Inherited from ​

AdminOptions.allowedHosts


bodyLimitBytes? ​

optional bodyLimitBytes?: number

Defined in: admin-api/src/context.ts:85

Tamaño máximo del body. Por defecto 1 MiB.

Inherited from ​

AdminOptions.bodyLimitBytes


clientIp? ​

optional clientIp?: (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

Inherited from ​

AdminOptions.clientIp


cookieName? ​

optional cookieName?: string

Defined in: admin-api/src/context.ts:75

Inherited from ​

AdminOptions.cookieName


host? ​

optional host?: string

Defined in: admin-api/src/admin.ts:404

Por defecto 127.0.0.1: el panel no queda expuesto; se entra por VPN o túnel SSH.


impersonationTtlSeconds? ​

optional impersonationTtlSeconds?: number

Defined in: admin-api/src/context.ts:79

Vida de los tokens de impersonación. Por defecto 60 s.

Inherited from ​

AdminOptions.impersonationTtlSeconds


impersonationUrl? ​

optional impersonationUrl?: (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

Inherited from ​

AdminOptions.impersonationUrl


issuer? ​

optional issuer?: string

Defined in: admin-api/src/context.ts:91

Nombre en la app de autenticación (2FA). Por defecto tenancy-node.

Inherited from ​

AdminOptions.issuer


leads? ​

optional leads?: 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.

Inherited from ​

AdminOptions.leads


loginRateLimit? ​

optional loginRateLimit?: 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

Inherited from ​

AdminOptions.loginRateLimit


logoMaxBytes? ​

optional logoMaxBytes?: 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.

Inherited from ​

AdminOptions.logoMaxBytes


maskedColumns? ​

optional maskedColumns?: RegExp

Defined in: admin-api/src/context.ts:83

Columnas que el explorador de datos oculta.

Inherited from ​

AdminOptions.maskedColumns


port? ​

optional port?: number

Defined in: admin-api/src/admin.ts:402


prefix? ​

optional prefix?: string

Defined in: admin-api/src/context.ts:68

Prefijo de la API. Por defecto /admin/api.

Inherited from ​

AdminOptions.prefix


publicDocs? ​

optional publicDocs?: boolean

Defined in: admin-api/src/context.ts:89

/openapi.json sin autenticación. Por defecto true.

Inherited from ​

AdminOptions.publicDocs


secureCookies? ​

optional secureCookies?: boolean

Defined in: admin-api/src/context.ts:72

Cookies Secure (HTTPS). Por defecto true; desactívalo solo en desarrollo local.

Inherited from ​

AdminOptions.secureCookies


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.

Inherited from ​

AdminOptions.sessionSecret


sessionTtlMs? ​

optional sessionTtlMs?: number

Defined in: admin-api/src/context.ts:74

Duración de las sesiones. Por defecto 8 h.

Inherited from ​

AdminOptions.sessionTtlMs


tenantFields? ​

optional tenantFields?: readonly TenantField[]

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.

Inherited from ​

AdminOptions.tenantFields


tenantUsers? ​

optional tenantUsers?: 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.

Inherited from ​

AdminOptions.tenantUsers


trustProxy? ​

optional trustProxy?: 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.

Inherited from ​

AdminOptions.trustProxy


ui? ​

optional ui?: 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.

Inherited from ​

AdminOptions.ui

Publicado bajo la licencia MIT.