FINORA Plataforma · How-to guide
Sincroniza y verifica las licencias en el core
This content is not available in your language yet.
Antes, la consola emisora tiene que haber emitido las llaves de la instalación: Emite las llaves de una institución.
Lo que el core necesita saber
Sección titulada «Lo que el core necesita saber»El core se configura en su entorno (lo deja listo el alta de la celda, o el instalador en una instalación propia):
| Variable | Qué contiene |
|---|---|
FINORA_LICENSE_INSTALLATION_ID | El ID de instalación, idéntico al de la consola emisora |
FINORA_LICENSE_MODULE_KEYS | Las claves públicas de firma, como kid:clave, separadas por coma |
FINORA_LICENSE_SERVER_URL | La dirección de la consola emisora vista desde el core (https://<su-emisor>); vacía, la sincronización está apagada |
FINORA_LICENSE_SERVER_INSTALLATION_KEY | La clave de sincronización que la consola mostró una sola vez |
FINORA_LICENSE_SERVER_CRON | Cada cuánto sincroniza; por defecto, cada seis horas |
FINORA_LICENSE_SERVER_STARTUP_DELAY | Cuánto espera tras arrancar para la primera sincronización; por defecto, 60 segundos |
FINORA_LICENSE_ENFORCE_NEW_MODULES | true bloquea los módulos nuevos sin concesión; por defecto false |
Para ver y operar las pantallas necesitas el rol License Module Administrator (license-module-admin) o un
administrador total.
Sincroniza ahora
Sección titulada «Sincroniza ahora»-
Abre Administración → Concesiones de módulo. En la cabecera verás la Instalación del core y el estado de la última sincronización, por ejemplo «Última sincronización: … — OK». Si dice «Sincronización apagada», falta la dirección de la consola emisora; si dice «Instalación sin definir», falta el ID de instalación.
-
Pulsa Sincronizar ahora. El core pide a la consola emisora sus llaves vigentes y la última lista de revocación, las verifica una por una y te informa «Sincronización terminada: OK».
-
Revisa la tabla: una fila por concesión, con Módulo, Estado (
ACTIVE,REVOKEDoEXPIRED), Vigente desde, Vigente hasta, Id de concesión, Licenciatario, Origen (SYNCsi llegó por sincronización,MANUALsi se importó a mano), cuándo y quién la importó, y la Clave (kid).
Importa llaves a mano (sin conexión)
Sección titulada «Importa llaves a mano (sin conexión)»Para un core que no alcanza la consola emisora:
-
Pide al administrador de licencias el resultado de Concesiones → Exportar vigentes: las llaves FNM1, una por línea, y al final la última FNR1.
-
En Concesiones de módulo, despliega Importar llaves, pega el contenido en Llaves FNM1 (concesión) o FNR1 (revocación) y pulsa Importar llaves.
-
Lee el Resultado por llave: cada línea dice
ACEPTADAoRECHAZADAcon su código. Las revocaciones se aplican primero, y repetir una llave no tiene efecto (ALREADY_IMPORTED).
Verifica qué está habilitado
Sección titulada «Verifica qué está habilitado»Abre Administración → Módulos licenciables. Arriba, un aviso dice cómo está aplicando el core las licencias:
| Aviso | Significa |
|---|---|
| «Sin licencia registrada: el core no aplica restricciones de módulo.» | No hay licencia firmada: todo está abierto |
| «Se bloquean los módulos legacy sin columna activa ni concesión vigente. Los módulos nuevos no se bloquean…» | El modo normal hoy |
| «Se bloquea todo módulo sin columna activa ni concesión vigente, incluidos los nuevos.» | El interruptor de módulos nuevos está encendido |
La tabla trae una fila por módulo del catálogo (21 hoy) con Código, Módulo, Categoría, Habilitado,
Licenciado, Origen (LEGACY si lo habilita la casilla de la licencia clásica, GRANT si lo habilita una
concesión), Vigente hasta, Se bloquea, Columna legacy, Concesión y Rutas API. Pulsa Actualizar
después de sincronizar.
Lo mismo por API, con el alcance license:read: GET /v1/license/modules en el gateway
(https://<su-gateway>/v1/license/modules) o GET /api/v1/ext/license/modules en el core.
Por API
Sección titulada «Por API»| Tarea | Petición en el core | Alcance |
|---|---|---|
| Ver el estado por módulo | GET /api/v1/ext/license/modules | license:read |
| Importar llaves FNM1 o FNR1 | POST /api/v1/ext/license/grants con {"keys": [...]} | license:write |
| Sincronizar ahora | POST /api/v1/ext/license/grants:sync | license:write |
grants:sync responde 409 sync-in-progress si ya hay una sincronización en curso y 503 si la dirección de la
consola emisora no está configurada.
Errores frecuentes
Sección titulada «Errores frecuentes»| Código de rechazo | Por qué | Qué hacer |
|---|---|---|
INSTALLATION_MISMATCH | La llave es de otra instalación | Revisa que el ID de instalación del core sea el mismo de la consola emisora |
INSTALLATION_UNBOUND | El core no tiene ID de instalación | Configura FINORA_LICENSE_INSTALLATION_ID |
UNKNOWN_KID | Falta la clave pública con que se firmó | Agrega a FINORA_LICENSE_MODULE_KEYS la línea que da Claves de firma en la consola emisora |
BAD_SIGNATURE | La llave se alteró o se copió incompleta | Cópiala de nuevo, completa y en una sola línea |
EXPIRED / NOT_YET_VALID | Fuera de su vigencia | Renueva la suscripción o espera su fecha de inicio |
UNKNOWN_MODULE | El módulo no está en el catálogo del core | Actualiza el core a un corte que lo incluya |
| La sincronización da HTTP 401 | Clave de sincronización errónea o rotada | Configura la clave vigente |
| La sincronización da HTTP 423 | La instalación está suspendida o de baja en la consola emisora | Reactívala si corresponde |