Skip to content

Contexto multitenant

Hernan Lopez edited this page Oct 6, 2026 · 2 revisions

Contexto multitenant

ArcaTenantContext es un valor inmutable para seleccionar un tenant confiable, CUIT representada, entorno y certificado. WSAA ofrece AuthenticateForTenantAsync(service, tenant, cancellationToken) y usa el ambiente para elegir el endpoint oficial sin cambiar opciones compartidas.

var tenant = new ArcaTenantContext(
    resolvedTenantId,
    resolvedCuit,
    environment,
    certificateContent);

var ticket = await wsaa.AuthenticateForTenantAsync("wsfe", tenant, cancellationToken);

La aplicación debe autenticar al usuario, resolver y autorizar su acceso al tenant/CUIT, obtener ambiente y credenciales de almacenamiento confiable y recién entonces construir el contexto. Nunca derivar esos valores de campos libres del request. La CUIT representada puede diferir de la titular del certificado cuando ARCA autorizó delegación; no imponer una igualdad entre ambas.

La clave de caché local incluye tenant, CUIT representada, endpoint/ambiente, servicio y huella del certificado. Esto separa tickets locales en una misma instancia, pero no cambia la identidad remota del certificado. Compartir una credencial entre tenants puede causar coe.alreadyAuthenticated; no hay promesa de sesiones independientes en ARCA, caché distribuida ni coordinación entre procesos.

El contexto no comprueba permisos fiscales ni reemplaza la autorización de la aplicación. El diario fiscal disponible usa tenantId para separar operaciones e idempotencia, pero la unicidad fiscal sigue siendo (ambiente, CUIT emisora, punto de venta, tipo, número) según ADR 0001. Dos tenants internos que representan una misma CUIT no deben registrar dos veces el mismo comprobante.

Los wrappers tipados WSFEv1/WSFEXv1/WSMTXCA y Padrón reciben el contexto en las llamadas autenticadas; la integración se verificó con la suite y contratos archivados. No se ejecutaron operaciones autenticadas reales por falta de certificados autorizados. Los health checks son por servicio y ambiente: no reciben certificado ni contexto y no prueban autorización fiscal. Detalle: ADR 0002 y ADR 0003.

Clone this wiki locally