2.7 KiB
2.7 KiB
LinkedSign Backend - Resumen Actual
Resumen corto del estado actual del backend que usan la web y la app Android.
Módulos activos
authusersdocumentscertificatessignaturesmailaudithealth
Seguridad aplicada
helmetcorsrestringido- rate limit en login
- JWT access + refresh
- contraseñas con
bcrypt - validación fuerte de contraseña
- validación de PDF
- control de acceso por usuario autenticado
- auditoría de login, documentos, certificados y firmas
Autenticación
- registro con correo + contraseña
- validación del correo por enlace
- reenvío automático del correo si el usuario intenta entrar sin validar
GET /auth/me- logout y refresh token
- cambio de contraseña con confirmación por correo
Documentos
- subida de PDF original
- listado
- descarga
- eliminación
- cálculo de hash SHA-256 del documento
Ruta de almacenamiento:
/storage/documentos/YYYY/MM/
Certificados
- subida de
.p12/.pfx - lectura de sujeto, emisor y vigencia
- detección de cantidad de certificados embebidos
- indicador de cadena embebida
- listado y eliminación
Ruta de almacenamiento:
/backend/storage/certificates/users/{userId}
Firmas
- firmado de PDF con certificado del usuario
- estilos visuales:
classicqrprofessionalimage
- QR configurable:
- izquierda / derecha
- borde / sin borde
- fondo suave / transparente
- nombre del firmado:
nombreOriginal_yyyymmddhhmm.pdf
- listado de documentos firmados
- descarga del firmado
- verificación pública por QR
Verificación QR
Cada firma puede generar:
verificationCodeverificationUrl
El QR apunta a la verificación pública de LinkedSign y muestra:
- estado de validez interna
- firmante
- emisor del certificado
- documento
- fecha de firma
- razón y ubicación
- hash de integridad
Preferencias visuales
Se guardan por usuario:
signatureStyleqrPositionqrBackgroundqrBordersignatureImageBase64
Persistencia actual:
backend/storage/preferences/signature-styles.json
Auditoría
Eventos almacenados en:
backend/logs/audit.log
Se registran, entre otros:
USER_REGISTEREDLOGIN_SUCCESSLOGIN_FAILEDVERIFICATION_EMAIL_RESENTPASSWORD_CHANGE_REQUESTEDPASSWORD_CHANGEDDOCUMENT_UPLOADDOCUMENT_DELETECERTIFICATE_UPLOADCERTIFICATE_DELETEDOCUMENT_SIGNED
Integración con Android
La app móvil en android/README.md:
- usa esta misma API
- comparte autenticación con la web
- guarda sesión en el dispositivo
- sincroniza documentos, certificados y firmados bajo petición del usuario