API backend para autenticación de usuarios, control de acceso, administración de cuentas y protección de recursos de una aplicación.
Descripción
AuthCore API es un servicio backend diseñado para centralizar la autenticación de usuarios y el control de acceso de aplicaciones web. El proyecto administra cuentas, credenciales, rutas protegidas, roles y permisos mediante una API REST estructurada.
El objetivo principal fue crear un backend de autenticación reutilizable que pudiera funcionar como capa de seguridad para distintas aplicaciones, sin acoplar la lógica de autenticación directamente al frontend.
Mi participación
Como desarrollador backend, diseñé e implementé el flujo de autenticación, la estructura de la base de datos, el control de acceso, la validación de solicitudes y los endpoints encargados de administrar usuarios y recursos protegidos.
- Desarrollé endpoints para registro, autenticación y cierre de sesión.
- Implementé el almacenamiento seguro de contraseñas y la validación de credenciales.
- Creé rutas protegidas disponibles únicamente para usuarios autenticados.
- Implementé control de acceso basado en roles para distintos tipos de usuario.
- Desarrollé operaciones para la administración de cuentas.
- Agregué validación de solicitudes y respuestas de error estructuradas.
- Integré PostgreSQL para persistir usuarios y datos de autenticación.
- Organicé el backend mediante una estructura modular de API.
Funcionalidades principales
- Registro y autenticación de usuarios.
- Administración segura de contraseñas.
- Rutas protegidas de la API.
- Autorización basada en roles.
- Administración del perfil del usuario.
- Validación de datos de entrada.
- Respuestas estructuradas de la API.
- Manejo de errores.
- Persistencia de información en PostgreSQL.
- Arquitectura de endpoints REST.
Ejemplos de endpoints
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/register | Crear una cuenta de usuario |
| POST | /api/login | Autenticar a un usuario |
| POST | /api/logout | Finalizar la sesión autenticada |
| GET | /api/user | Consultar la información del usuario autenticado |
| PUT | /api/user | Actualizar la información del usuario |
| GET | /api/users | Consultar usuarios con acceso autorizado |
| GET | /api/roles | Consultar los roles disponibles |
Seguridad
La API fue diseñada con la autenticación y autorización como objetivos principales. Las contraseñas se almacenan mediante hash, los datos recibidos se validan antes de procesarse y los endpoints protegidos comprueban los permisos del usuario antes de permitir el acceso a los recursos de la aplicación.
Impacto
AuthCore API proporciona una base de autenticación reutilizable para aplicaciones web, separando del frontend las responsabilidades de seguridad y administración de usuarios. Esta arquitectura simplifica el desarrollo de sistemas que requieren autenticación, recursos protegidos y distintos niveles de acceso.
