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 Python y el framework Flask para construir un back-end de REST API y React.js, y sessionStorage API para el front-end.
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 porque vamos a usar una plantilla diferente.
Recomendamos abrir el React.js + Flask API boilerplate
usando un entorno de desarrollo como Codespaces (recomendado) o Gitpod. Alternativamente, puedes clonarlo en tu computadora local usando el comando git clone
.
Este es el repositorio que necesitas abrir o clonar:
1https://github.com/4GeeksAcademy/react-flask-hello
👉 Por favor sigue estos pasos sobre cómo comenzar un proyecto de programación.
💡 Importante: Recuerda guardar y subir tu código a GitHub creando un nuevo repositorio, actualizando el remoto (
git remote set-url origin <your new url>
) y subiendo el código a tu nuevo repositorio usando los comandosadd
,commit
ypush
desde la terminal de git.
Usualmente, un sistema de autenticación es implementado en 4 partes:
Al principio de cada aplicación no hay usuario o tokens, así que el primer paso que hace sentido es crear un registro de usuario.
/signup
./signup
y realizará emparejado con el correspondiente componente de página de React.js, esta página se encargará de representar el HTML del registro.onSubmit
, este activa la función handleSubmit
que obtiene el email y contraseña de la API del backend con Python y flask, probablemente usando 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.
miaplicacion.com/login
./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
.sessionStorage
./private
.Este proceso ocurre cuando el usuario desea cerrar la sesión.
onClick
es llamado.sessionStorage
.Cualquier usuario puede solo escribir /private
para intentar visitar la página privada, por eso es que se necesita implementar una validación, para prevenir que usuarios anónimos vean el contenido de la página privada, y debemos redirigir al usuario a la ruta /login
o a otra página pública. Así es como usualmente es el proceso:
miaplicacion.com/private
./private
y realizará 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 haría en el useEffect
porque se quiere que se haga tan pronto la aplicación cargue.sessionStorage
👎 no tiene el token, el usuario actual no está considerado como registrado y el componente debe redirigirlo a la vista del inicio de sesión.sessionStorage
👍 contiene el token, el actual usuario está registrado exitosamente y el resto de la vista del componente /private
es cargado.Este y otros proyectos son usados para aprender a programar por parte de los alumnos de 4Geeks Academy Coding Bootcamp realizado por Alejandro Sánchez y muchos otros contribuyentes. Conoce más sobre nuestros Cursos de Programación para convertirte en Full Stack Developer, o nuestro Data Science Bootcamp.