Skip to content

About

Sistema de autenticación con Sanctum en el Microservicio de Gestión de Usuarios

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Microservicio de Gestión de Usuarios - Priyecto de Facturación

Microservicio RESTful para la gestión de usuarios con autenticación basada en Laravel Sanctum. Diseñado para integrarse con sistemas de microservicios, proporcionando control de acceso mediante roles (admin, editor, user) y estados de cuenta.

Características

  • Autenticación segura con Laravel Sanctum (tokens personales)
  • Sistema de roles: Admin, Editor, User
  • Estados de cuenta: Active, Inactive, Suspended, Pending
  • Control de acceso basado en roles
  • CRUD completo de usuarios
  • Soft deletes para recuperación de datos
  • API RESTful con respuestas JSON

Tecnologías

  • Framework: Laravel 12
  • Autenticación: Laravel Sanctum
  • Base de Datos: 11.8.3-MariaDB-1build1
  • PHP: 8.4.11
  • Composer: 2.8.8

Nota: funciona con MySQL

Instalación

Sigue estos pasos para configurar y ejecutar el proyecto en tu entorno local:

  1. Clonar o descargar el proyecto:
  1. Instalar dependencias de Composer:

    composer install
    
  2. Configurar variables de entorno:

    cp .env.example .env

    Edita el archivo .env con tus credenciales de Base de Datos

  3. Generar la clave de aplicación:

    php artisan key:generate
  4. Crear la base de datos:

    CREATE DATABASE db_user CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

    El nombre de la DB debe ser el mismo que el puesto en el archivo .env

  5. Ejecutar migraciones:

    Opción 1: Solo crear las tablas (sin datos)

    php artisan migrate

    Opción 2: Resetear base de datos y crear tablas limpias

    php artisan migrate:fresh
  6. Sembrar datos de prueba (Opcional) :

    php artisan db:seed
  7. Levantar el servidor:

    php artisan serve

    Por defecto, la API estará disponible en http://127.0.0.1:8000

Estructura de Roles y Permisos

Rol Permisos Descripción
Admin *(todos) Acceso completo. Puede crear otros admins y gestionar todos los usuarios
Editor read,create,update Puede ver, crear y actualizar usuarios (excepto admins)
User read Solo puede ver información de usuarios

Estados de Cuenta

Estado Descripción ¿Puede hacer login?
active Cuenta activa y funcional Sí
pending Pendiente de aprobación por admin No
inactive Cuenta desactivada temporalmente No
suspended Cuenta suspendida por violación No

Endpoints de la API

Endpoints Públicos

Método Ruta Descripción
POST /api/auth/register Registrar nuevo usuario (rol: user, estado: pending)
POST /api/auth/login Iniciar sesión y obtener token

Endpoints Protegidos (Requieren Token)

Autenticación

Método Ruta Descripción Roles
GET /api/auth/me Obtener usuario autenticado Todos
GET /api/auth/validate-token Validar token (para microservicios) Todos
POST /api/auth/logout Cerrar sesión actual Todos
POST /api/auth/logout-all Cerrar todas las sesiones Todos

Gestión de Usuarios

Método Ruta Descripción Roles
GET /api/users Listar todos los usuarios Todos
GET /api/users/{id} Obtener usuario por ID Todos
POST /api/users Crear usuario Admin
PUT /api/users/{id} Actualizar usuario completo Admin, Editor
PATCH /api/users/{id} Actualizar usuario parcial Admin, Editor
DELETE /api/users/{id} Eliminar usuario (soft delete) Admin

Capturas

Registro de Usuario

Registro de usuario

Login

Inicio de sesión de usuario administrador

Inicio de sesión de usuario administrador

Intento de inicio de sesión de usuario en estado pendiente

Inicio de sesión de usuario en estado pendiente

Inicio de sesión de usuario activo

Inicio de sesión de usuario activo

Listar Usuarios

Listado de usuarios

Listado de usuario

Listado de usuario por Id

Listado de usuario por id

Actualizar Usuario

Intento de actualización de usuario

Activación de usuario

Actualización de usuario a "activo"

Activación de usuario

Eliminar Usuario

Intento de eliminación de usuario

Intento de eliminación de usuario

Eliminación de usuario

Eliminación de usuario

About

Sistema de autenticación con Sanctum en el Microservicio de Gestión de Usuarios

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages