πŸ‘©β€πŸ’»User Management

User Managerment es un Modulo pensado para ofrecer todo un sistema de Inicio de Sesion con Login unico y vencimiento de Token junto con un espacio de permisos para trabajar con los Endpoints.

Setup

Para trabajar con UM tenga presente que utilizara SQLite y que esta DB se guardara en el directorio ~/db.

Para inicializar el sistema debe tenerlo habilitado en los .env

ENABLE_USERMANAGEMENT=true

Luego de ello, inicialice el mismo ejecutando

npm run setup:um

Esto inicializara la base de datos y le entregara las credenciales para poder iniciar sesion por consola:


Se creo la cuenta Admin de User Management 

Nombre de Usuario: administrator
Contrase;a: dec826ce993b83568e22698aa3cc459d

Con este, podra iniciar sesion y podra crear usuarios especificandoles premisos para poder trabajar en sus endpoints.

Modo de Uso

Para poder trabajar con este modulo, en su endpoint debe tener fun['userManagement'].authenticateToken en la cabecera de su ruta para que esta tenga validaciones de Token y vigencia. Por otro lado, puede obtener los datos de la session como Nombre del Usuario, Apellido, Token vinculante a la DB (unico por sesion y vinculante al JWT), userID en DB y los permisos.

  • Estos datos, son visibles desde la variable req.user de cada ruta.

  • La vigencia de los JWT es de 365 dias por default, pero puede modificarlo en las .env indicando SYSTEMUSER_EXPIRE en true y SYSTEMUSER_EXPIRETIME con el tiempo que quiera, por ejemplo 30m para media hora, o 7d para una semana o 2h30m para dos horas y media.

  • Puede ver mas informacion aqui: https://jwt.io/introductionarrow-up-right

  • Los token JWT de Session deven viajar en Authorization: Bearer para poder ser reconocidos por monoIntegrator

Un ejemplo de implementacion es el siguiente

Last updated