El widget autentica; el backend decide el acceso
FACEIO gestiona el flujo de autenticación en el navegador, pero JavaScript no debe decidir el acceso. Tu backend debe asociar el Facial ID devuelto con la cuenta esperada, validar el estado de la cuenta y el contexto de la solicitud, y decidir qué acceso concede.
El SDK fio.js gestiona la captura con la cámara, las comprobaciones de liveness y la autenticación facial en el navegador. Devuelve un resultado al frontend, pero ese resultado no constituye una decisión final de autorización. El backend debe aplicar las reglas de cuenta, sesión y acceso.
Esta lista se centra en las decisiones de API y seguridad para la autenticación facial en aplicaciones web. Para implementar la interfaz, consulta la guía de integración. Para conocer el alcance del producto, revisa la página de Face Authentication API.
Lista de verificación de autenticación en el servidor
Antes de emitir una sesión, aplica estas comprobaciones en tu servidor:
- No incluyas las API keys privadas en el frontend, paquetes móviles ni repositorios públicos. El navegador utiliza el App ID público; la API key permanece en el servidor.
- Utiliza
CHECKFACIALIDdesde el backend cuando necesites confirmar que un Facial ID sigue registrado. Este endpoint no autentica un callback concreto del navegador. - Vincula el resultado con la cuenta, el tenant y el contexto esperados. No aceptes como definitivo un ID de usuario enviado por el cliente.
- Utiliza la confirmación mediante PIN cuando tu política requiera un factor adicional. Consulta Always Ask for PIN y SETFACIALIDPINCODE para configurar la política y administrarla desde el backend.
- Registra los eventos de autenticación correctos y fallidos con el contexto necesario para revisarlos, sin guardar contenido de verificación, capturas faciales ni hashes biométricos.
- Define reglas de reintento, acceso alternativo, bloqueo y revisión manual para las comprobaciones fallidas.
- Limita los intentos por IP y Facial ID para reducir capturas repetidas y abuso automatizado.
Vinculación de sesiones y emisión de tokens
Después de validar el estado de la cuenta y el contexto de la solicitud, el backend puede emitir una sesión. Vincúlala con la cuenta asociada al Facial ID devuelto, no con un identificador enviado por el navegador:
Vincula la sesión con el Facial ID
Busca la cuenta asociada al Facial ID devuelto. No consideres definitivo un ID de usuario enviado por el navegador.
Tokens de corta duración
Emite tokens de sesión de corta duración. Para acciones que requieran mayor seguridad, solicita una nueva autenticación facial o un método alternativo en lugar de depender de una sesión prolongada.
Registro de auditoría
Registra la fecha y hora, el Facial ID, el App ID y el resultado. Este historial permite revisar el acceso a cuentas y los casos de soporte sin almacenar contenido de verificación.
Errores habituales de integración
Confiar en el estado del cliente
No permitas que un callback correcto del frontend seleccione una cuenta o conceda acceso por sí solo. Asocia el Facial ID en el backend y aplica tus propias reglas de sesión, tenant y autorización.
No vincular la sesión
Un resultado de autenticación correcto debe asociarse con la cuenta y la acción solicitada. Vincula la sesión en el backend en lugar de aceptar un identificador de cuenta procedente del navegador.
No registrar métricas operativas
Mide los registros completados, las autenticaciones correctas, los fallos de cámara, los reintentos y las intervenciones de soporte. Estas métricas ayudan a distinguir un problema de despliegue de un problema del producto.
Exponer la API key
La API key es un secreto del servidor. Si aparece en el frontend, un repositorio público o un paquete móvil, rótala inmediatamente desde FACEIO Console.
Recursos para integrar la API
Utiliza estos recursos de FACEIO para configurar fio.js, administrar Facial IDs y webhooks, proteger las API keys y preparar el flujo de cuentas para producción.
Preguntas frecuentes
¿Cómo debe gestionar el servidor el resultado de autenticación del cliente?
El navegador está bajo el control del usuario. Trata el resultado de fio.js como una entrada, asocia el Facial ID con la cuenta esperada en el backend, valida la cuenta y el contexto de la solicitud, y decide si emites una sesión. Utiliza CHECKFACIALID para confirmar que un Facial ID sigue registrado; no autentica un callback concreto del navegador.
¿Dónde debo guardar la API key de FACEIO?
Guárdala únicamente en el servidor, preferiblemente en una variable de entorno o un gestor de secretos. No la incluyas en el frontend, paquetes móviles ni repositorios públicos. El App ID público puede utilizarse en el navegador; la API key no.
¿Qué datos debo registrar de un evento de autenticación?
Registra la fecha y hora, el Facial ID, el resultado, el App ID y el contexto necesario para revisar el evento. No registres contenido de verificación, capturas faciales ni hashes biométricos. Consulta las guías de seguridad y privacidad.
¿En qué se diferencia esta lista de la lista de lanzamiento?
La lista de lanzamiento cubre la UX, el consentimiento, la privacidad y las etapas de despliegue. Esta lista de API se centra en los controles de cuenta del servidor, la vinculación de sesiones, las API keys y las decisiones posteriores a la autenticación.
Guías relacionadas
Prepara una integración segura de la API
Para autenticar cuentas, utiliza el flujo del SDK de FACEIO, conserva las API keys privadas en el backend, asocia los Facial IDs con tus cuentas y aplica controles de sesión en el servidor. Para comparar dos imágenes faciales sin registro, consulta la API de verificación facial en línea.