Usuarios
La primera vez que se accede al sistema se debe usar el usuario por defecto (credenciales iniciales). Tras el primer acceso es obligatorio rotar estas credenciales.
user: admin@localhost
password: admin
Pasos recomendados tras el primer login:
- Iniciar sesión con
admin@localhost
. - Crear un nuevo usuario con rol
superadmin
(p.ej.root@tuempresa.com
). - Crear un usuario operativo con rol
admin
(p.ej.ops@tuempresa.com
). - Cerrar sesión y verificar acceso con ambos.
- Eliminar
admin@localhost
o, si se requiere mantenerlo temporalmente, cambiar su contraseña por una robusta y almacenarla en el gestor corporativo.
Nunca deje el usuario admin@localhost habilitado con la clave admin. Su sistema seria altamente vulnerable.
En el menú Admin / Usuarios encontrará la lista de usuarios activos, su estado y roles asociados.
Se deben crear usuarios con los siguientes roles (permisos agregados):
- superadmin. Al menos uno. Control total: seguridad avanzada, mantenimiento, auditoría. Uso excepcional.
- admin. Gestión operativa: configuración de filetypes, flujos, usuarios de nivel inferior.
- user. Uso habitual de la plataforma (gestión de dossiers, tareas, consultas). Mínimo privilegio.
- robot. Usuario no humano para integraciones vía API (sin acceso UI). No usa passwords sino un token de acceso. Recomendable para automatizaciones o acceso desde aplicaciones externas.
- (Opcional) auditor. Acceso sólo lectura a dossiers, logs y actividad (si se habilita el rol en futuras versiones).
Robot vía API
Si dispones de otra aplicación que expone los datos de usuarios, puedes construir un “robot” que:
- Llame a su origen (ERP/CRM legacy / base de datos) y obtenga la lista de usuarios.
- Transforme los usuarios al formato interno.
- Usa el endpoint de creación de usuarios de ValerIA, para crearlos.
Pseudocódigo (Node.js):
//Crea los miembros que no existan en Valeria
async function updateMiembros() {
Utils.log('info', 'Obteniendo miembros de Tolentino')
const usersValeria = await Valeria.userList()
const miembros = CONSIGUE ARRAY DE MIEMBROS
for (let miembro of miembros) {
const userFound = usersValeria.users.find((user) => { return user.email == miembro.email && user.name == miembro.fullname })
if (userFound == undefined) {
await Valeria.userCreate(miembro).then((res) => {
Utils.log('info', `Se creo el usuario ${miembro.fullname} con el email ${miembro.email} en Valeria`)
}).catch((error) => {
Utils.log(`error creando el usuario ${miembro.fullname} - ${miembro.email} en ValerIA:`, error)
})
}
}
Utils.log('info', "Terminado de crear usuarios en Valeria")
}
Funciones de creacion de usuario (Node.js):
async function userCreate(user) {
const name = user.fullname
const email = user.email
const password = user.valeriaPassword
const role = user.valeriaRole == undefined ? "user" : user.role
let policies = []
user.valeriaPolicies.split(',').forEach((policy) => {
policies.push(policy.trim())
})
const member = { name, email, password, role, policies }
const url = `${config.valeriaURL}/v1/user/create`
return await superagent
.post(url)
.set('Authorization', `Bearer ${config.tokenValeria}`)
.send(member)
.then((response) => {
let respuesta = response.text;
return JSON.parse(respuesta)
})
.catch((error) => {
if (error.status == 400) {
const err = error.response?._body
throw new Error(`${err.error} -> ${err.message}`)
} else {
throw new Error(error.message)
}
});
}
Revisa autenticación JWT: incluye el token en
Authorization: Bearer <token>
o crea un usuario tipo robot (con permisos de acceso a lista de usuarios y creación).
Ejemplo de política de creación inicial
Correo | Rol | Justificación |
---|---|---|
root@firma.com | superadmin | Custodia y emergencias |
ops@firma.com | admin | Configuración y mantenimiento diario |
abogado1@firma.com | user | Operativa legal |
abogado2@firma.com | user | Operativa legal |
Buenas prácticas de seguridad
- Activar MFA (si está disponible) para
superadmin
yadmin
. - Revisar trimestralmente usuarios inactivos (> 90 días) y deshabilitarlos.
- Forzar longitud mínima de contraseña (>= 12 caracteres) y mezcla de tipos.
- Evitar compartir credenciales genéricas entre varias personas.
- Registrar en un flujo (Conductor) alertas al crear/eliminar usuarios privilegiados.
Solución de problemas
Problema | Causa probable | Acción |
---|---|---|
No puedo crear usuario | Falta rol admin/superadmin | Revisa sesión actual o solicita a superadmin |
Usuario ve demasiado | Rol asignado demasiado alto | Ajustar a rol inferior y validar |
Persisten sesiones tras baja | Token no invalidado | Forzar invalidación / limpiar refresh tokens |
Login bloqueado repetidamente | Intentos fallidos (fuerza bruta) | Habilitar captcha / incrementar backoff |
Siguiente paso sugerido: definir estructura de filetypes y asociar permisos de acceso específicos por rol mediante flujos o políticas (RBAC refinado).