Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Casi todos los sitios web en el mundo tienen autenticación de usuarios, en este proyecto debes realizar una aplicación web implementando la autenticación de usuarios usando Node para construir un backend de REST API y React.js, y sessionStorage API para el Frontend.
El uso de esta plantilla/boilerplate es recomendada para comenzar el desarrollo, ya viene preparada con todas las condiciones e instalaciones para comenzar a programar en un minuto.
Implementa un sistema de autenticación en las siguientes partes:
Al menos las siguientes páginas y componentes de react deben ser implementados en el proyecto:
Ruta | Componente | Funcionalidad |
---|---|---|
/signup | <Signup> | Renderizar formulario de registro |
/login | <Login> | Renderizar formulario de Inicio de sesión |
/private | <Private> | Validar que solo ingresen usuarios autenticados y renderizar este componente |
No clones este repositorio.
a) Si usas Gitpod (recomendado) tu puedes clonar la plantilla/boilerplate haciendo click aquí.
b) Si trabajas de forma local, tipea el siguiente comando en tu linea de comando o consola: git clone https://github.com/4GeeksAcademy/expressjs-rest-hello
.
💡 Recuerda crear un nuevo repositorio, actualiza el remoto (git remote set-url origin <tu nueva url>
), y carga el código de tu nuevo repositorio usando add
, commit
y push
.
Usualmente un sistema de autenticación es implementado en 4 partes:
Al principio de cada aplicación no hay usuario o tokens, asi que el primer paso que hace sentido es crear un registro de usuario.
/signup
./signup
y realizará emparejado con el correspondiente componente de pagina de React.js, esta página se encargará de representar el HTML del registro.onSubmit
, este al activarse la función handleSubmit
obtiene el email y contraseña de la API del Backend con Node, probablemente usanto una petición POST /token
con el email y contraseña en el body payload.Esta parte del proceso ocurre solo cuando los nuevos tokens fueron generados.
/login
en el frontend./login
y realizará un emparejado con el correspondiente componente de página de React.js, esta página se encargará de renderizar el formulario de inicio de sesión.token
.token
en el sessionStorage
./private
.Este proceso ocurre cuando el usuario desea cerrar la sesión.
onClick
es llamado.sessionStorage
.Cualquier usuario puede solo tipear /private
para intentar visitar una página privada, por eso es que se necesita implementar una validación, para prevenir que usuarios anonimos vean el contenido de la página privada, y debemos redirigir al usuario a la ruta /login
o a otra página publica. Asi es como usualmente es el proceso:
/private
/private
y realizara un emparejado con el correspondiente componente de página de React.js que se encargará de renderizar el HTML.sessionStorage
contiene un token autenticado, normalmente esto se haria en el useEffect
(component did mount) porque se quiere que se haga tan pronto la aplicación cargue.sessionStorage
👎 no tiene el token
, el usuario actual no esta considerado como registrado y el componente debe redirigirlo a la vista del inicio de sesión.sessionStorage
👍 contiene el token, el actual usuario esta registrado exitosamente y el resto de la vista del componente /private
es cargado.Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
JWT
javascript
React.js
node.js
Authentication
Javascript