nmarsollier / ecommerce_auth_node

Microservicio Autentificacion JWT en Node - Typescript Authentication Microservice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Si queres sabes mas sobre mi:

Nestor Marsollier

Microservicio de Seguridad

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.

Documentación de API

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

Dependencias

Node 10.15

Seguir los pasos de instalación del sitio oficial nodejs.org

MongoDb

La base de datos se almacena en MongoDb.

Ver tutorial de instalación en ecommerce.

RabbitMQ

Este microservicio notifica los logouts de usuarios con Rabbit.

Ver tutorial de instalación en ecommerce.

Ejecución

Abrir ventana de comandos en la carpeta del microservicio y ejecutar :

npm install
npm start

Apidoc

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.

Configuración de la app

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)

Build

docker build --no-cache -t dev-auth-node .

El contenedor

# 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

About

Microservicio Autentificacion JWT en Node - Typescript Authentication Microservice

License:GNU General Public License v3.0


Languages

Language:TypeScript 97.9%Language:Procfile 0.7%Language:JavaScript 0.6%Language:Dockerfile 0.5%Language:Shell 0.3%