Saltearse al contenido

Autenticación

La API acepta dos credenciales en la cabecera Authorization:

TipoFormatoUso
Token de APIBearer lit_…Integraciones de terceros (recomendado)
Sesión JWTBearer eyJ…La aplicación web (caduca a las 8 h)

Tokens de API

Se crean desde la aplicación web en API / Integraciones (roles de gestión; los usuarios estándar e instaladores no pueden emitirlos).

  • El valor completo (lit_ + 48 hex) solo se muestra al crearlo — guárdalo en un gestor de secretos. En el servidor solo se almacena su hash.
  • Un token hereda el rol y el ámbito de su propietario en el momento de cada llamada: revocar o desactivar al usuario inhabilita sus tokens.
  • Revocación inmediata desde la misma pantalla.
Ventana de terminal
curl https://api.linter-iot-stg.icent.digital/v1/devices?limit=5 \
-H "Authorization: Bearer lit_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Sesiones de usuario (JWT)

Ventana de terminal
curl -X POST https://api.linter-iot-stg.icent.digital/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"usuario@empresa.com","password":"********"}'

Respuesta: { "token": "eyJ…", "user": { … } }. El token caduca a las 8 horas.

Verificación en dos pasos (2FA)

Si la cuenta tiene activada la verificación en dos pasos, el login devuelve un reto en lugar del token y envía un PIN de 6 dígitos por email:

{ "twoFactorRequired": true, "challengeId": "665f…" }

Se completa con:

Ventana de terminal
curl -X POST https://api.linter-iot-stg.icent.digital/v1/auth/login/verify \
-H "Content-Type: application/json" \
-d '{"challengeId":"665f…","code":"482913"}'

El PIN caduca en 10 minutos y admite 5 intentos.

Ámbito de datos (tenencia)

Cada credencial lleva un ámbito (ROOT, filial, distribuidor o cliente). La API intersecta siempre ese ámbito con cada consulta en el servidor: no es posible ver datos de otra rama comercial aunque se manipulen los parámetros.