Skip to content

Ejemplo de autenticación con JWT y registro con verificación de mail para activar la cuenta en un proyecto de Spring 2.7.11

Notifications You must be signed in to change notification settings

MartinKun/spring-boot-2.7.11-jwt-email-verification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Implementación de autenticación con JWT con verificación de Email para activación de cuentas.

El objetivo de este proyecto es proporcionar una guía práctica sobre cómo implementar una funcionalidad de autenticación segura y un registro con verificación de correo electrónico para activar la cuenta de usuario. Se utiliza JWT para generar y validar tokens de autenticación, lo que permite a los usuarios autenticarse y acceder a recursos protegidos en la aplicación.


Funcionalidades:

  • Registro de usuario y login con JWT authentication: los usuarios pueden registrarse en el sistema y luego iniciar sesión utilizando la autenticación basada en JSON Web Tokens (JWT).
  • Envío de mails utilizando la librería de java Mail para la activación de la cuenta: se envía un correo electrónico al usuario con un enlace para activar su cuenta después del registro.
  • Encriptación de contraseña utilizando BCrypt: las contraseñas de los usuarios se encriptan antes de ser almacenadas en la base de datos utilizando la función hash BCrypt para garantizar la seguridad de las contraseñas.
  • Autorización basada en roles con Spring Security: se implementa un sistema de roles basado en Spring Security que permite restringir el acceso a ciertas funciones y recursos del sistema según el rol del usuario.

Tecnologías:

  • Framework: Spring Boot 2.7.11
  • Seguridad: JSON Web Tokens (JWT), BCrypt
  • Base de datos: MySQL
  • Librerías: Spring Security, JPA, Hibernate y Java Mail
  • Manejo de dependencias: Maven

Cómo ejecutarlo:

Requerimientos: Primero necesitarás instalar lo siguiente:

  • JDK 11+
  • MySQL workbench

Además, debes configurar las siguientes variables de entorno en tu sistema o en el archivo application.yml:

  • DB_USERNAME: nombre de usuario de la base de datos.
  • DB_PASSWORD: contraseña del usuario de la base de datos.
  • ACCESS_SECRET: clave secreta de más de 256 bits para generar y verificar los tokens de acceso.
  • ACCESS_EXPIRATION: tiempo de expiración en horas del token de acceso.
  • CONFIRM_SECRET: clave secreta de más de 256 bits para generar el token de confirmación.
  • CONFIRM_EXPIRATION: tiempo de expiración en horas del token de confirmación.

Una vez cumplidos estos pasos, puedes clonar el proyecto y ejecutarlo en tu IDE preferido.

About

Ejemplo de autenticación con JWT y registro con verificación de mail para activar la cuenta en un proyecto de Spring 2.7.11

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages