Este servicio permite crear usuarios, hacer login en las aplicaciones, comprobar si las sesiones son correctas.
AUTH_KEY // Clave para encriptar y comparar contraseñas
MONGO_URI // Ruta a base de datos
AMQP_URL // Ruta de RabbitMQ
AMQP_QUEUE // Cola de RabbitMQ
CREATE_USER_EMAIL_BASEURL // URL para validar el usuario
EMAIL_FROM // Email from
CREATE_USER_EMAIL_SUBJECT // Email subject
CREATE_USER_EMAIL_HTML // Web que se enviará por email para validar el usuario
En el caso de levantar la aplicación en desarrollo, hace uso de ".env" así que es necesario crear el archivo en la raíz del proyecto.
npm i
npm start
npm run dev
npm run test
npm run test
[POST]/user/create -> - Crea un nuevo usuario - Envia un email para que el usuario valide su cuenta - Registra esta IP como válida
request.body = {
name, // required
password, // required
email, // required
nikName, // Optional
telf, // Optional
surname // required
}
response = { // User model
_id,
name,
surname,
data: { // UserData model
_id
user
email
lastConnection
}
[GET]/user/validate-by-email/:token` -> Valida el usuario con el token generado
// Los parámetros van en la ruta
response = {
message
}
[POST]/auth/login/local -> Permite hacer login con usuario y contraseña
request.body = {
email, // required
password, // required
ipCode // Opcional en el caso de tener un código para validar la IP
}
response = {
mensaje,
token
}
[POST]/auth/send-ip-code -> Reenvia el código para activar esta IP
request.body = {
email, // required
password, // required
}
response = {
mensaje
}
[GET]/auth/check-token -> Comprueba si la sesión es correcta
request.headers['access-token']
response = {
mensaje
decoded: {
check,
userId,
iat,
exp
}
}
- Node
- Test: SuperTest y Jest
- DBDriver: Mongoose (Mediante la librería vkMongo)
- Lint: ESLint y Prettier