FOAP-NETMIND-PROMOCIO-2020 / friendlyrent

This is a team project
4 stars 0 forks source link

Autentificación con Passport.js #16

Open omiras opened 4 years ago

omiras commented 4 years ago

Objetivo

Habilitar la autentificación con usuario y contraseña a nivel de aplicación usando la biblioteca Passport.js

Análisis y diseño

aplidinio commented 4 years ago

Autentificación con Passport

Con esta utilidad se permite al usuario registrarse o entrar en el sistema. Para ello, la aplicación comprueba si el usuario está dado de alta en la BBDD. En caso afirmativo y previa comprobación del password, queda logueado persistentemente. Si prueba a loguearse de nuevo, el sistema redirige al usuario a la pagina principal.

Caso de no estar dado de alta, permite el registro rellenando el correspondiente formulario. También permite hacer el logout.

El sistema de login de momento pide el email y el password para acceder.

Características

Se ha modificado profundamente el Schema. El cambio principal es que, para loguearse, se ha preferido trabajar con objetos más que con campos primitivos porque Passport guarda el email y password en un objeto 'local'. Esta estrategia es muy útil ya que nos permite dejar el schema preparado para futuras ampliaciones que permitan loguearse desde Facebook, Twitter y Google.

Cambios realizados

Seguridad

El password se encripta con el módulo bcrypt y se guarda así en la BBDD. Hay que actualizar la BBDD porque varios usuarios tienen el password sin encriptar. Por tanto, solo se crearán nuevos usuarios a través del formulario sign up.

Otros

Hemos creado dos pequeños formularios de login y sign up. De momento hemos integrado el sign up que ya estaba definido y funciona correctamente. El de login lo podéis adaptar a vuestro gusto (la vista).