1.9 KiB
1.9 KiB
Dominio Auth
Propósito
Gestiona identidad y acceso de usuarios de la tienda y del panel administrativo: registro, inicio y cierre de sesión, perfil, autenticación con Google y recuperación de contraseña.
Modelo y servicios
User: usuario autenticable, asociado a tenant, rol, intentos de acceso y categorías habilitadas para escaneo.LoginAttemptyResetPasswordAttempt: trazabilidad de accesos y recuperación de contraseña.PasswordLoginService: autentica tienda y AdminApp, incluyendo bloqueo por intentos.RegisterUserServiceyProfileService: alta y edición del usuario.ResetPasswordAttemptService: crea, valida y consume códigos de recuperación.GoogleAuthService: redirección, callback e intercambio de código para Google OAuth.AdminAppContextService: carga el contexto requerido por un usuario administrativo.
Endpoints públicos
POST /register,POST /loginyPOST /logout.GET /meyPUT /me, protegidos porauth:sanctum.- Creación, validación y aplicación de intentos de recuperación bajo
/password. POST /auth/google/exchangepara canjear el código de autenticación.POST /v1/adminapp/loginy consulta del usuario administrativo dentro del grupo autenticado de AdminApp.
Validación y respuestas
Los FormRequest validan cada operación. UserResource y AdminAppMeResource definen las representaciones de salida. Los endpoints sensibles aplican auth:sanctum y límites de frecuencia.
Dependencias y eventos
Se relaciona con Tenant y Authorization; el registro y la recuperación disparan flujos atendidos por Notification. El carrito invitado puede integrarse al usuario autenticado mediante el dominio Cart.
Consideraciones
- La resolución del tenant forma parte de la autenticación y no debe omitirse.
- Los cambios en reglas de login deben conservar los límites de intentos y el manejo de
AccountLockedException.