Se encarga de registrar y autenticar usuarios en el sistema.
Utiliza el esquema JWT con un header Authorization "bearer" estándar.
Cada usuario tiene asociado una lista de permisos, existen 2 permisos genéricos "user" y "admin". Los usuarios que se registran son todos "user", muchos procesos necesitan un usuario "admin" para poder funcionar, por lo tanto hay que editar el esquema en mongodb para asociarle el permiso admin a algún usuario inicialmente.
La documentación de las api también se pueden consultar desde el home del microservicio que una vez levantado el servidor se puede navegar en localhost:3000
Seguir los pasos de instalación del sitio oficial nodejs.org
La base de datos se almacena en MongoDb.
Ver tutorial de instalación en ecommerce.
Este microservicio notifica los logouts de usuarios con Rabbit.
Ver tutorial de instalación en ecommerce.
Abrir ventana de comandos en la carpeta del microservicio y ejecutar :
npm install
npm start
Apidoc es una herramienta que genera documentación de apis para proyectos node (ver Apidoc).
El microservicio muestra la documentación como archivos estáticos si se abre en un browser la raíz del servidor localhost:3000
Ademas se genera la documentación en formato markdown.
Esta aplicacion se configura con variables de entorno del sistema operativo
SERVER_PORT : Puerto de la app (3000) LOG_LEVEL : Nivel de log (debug) MONGO_URL : Url de mongo (mongodb://localhost/authentication) JWT_SECRET : JWT (+b59WQF+kUDr0TGxevzpRV3ixMvyIQuD1O) PASSWORD_SALT : Para JWT (DP3whK1fL7kKvhWm6pZomM/y8tZ92mkEBtj29A4M+b8) RABBIT_URL : Servidor rabbit (amqp://localhost)
docker build --no-cache -t dev-auth-node .
# Mac | Windows
docker run -it --name dev-auth-node -p 3000:3000 -v $PWD:/app dev-auth-node
# Linux
docker run -it --add-host host.docker.internal:172.17.0.1 --name dev-auth-node -p 3000:3000 -v $PWD:/app dev-auth-node