diet - v1.0.0
    Preparing search index...

    Controlador de autenticación.

    Maneja operaciones relacionadas con usuarios: registro, login, consulta de perfil y cierre de sesión. Está diseñado para trabajar con Passport.js y Express.

    import AuthController from './controllers/AuthController.js';
    const controller = new AuthController('mongo');
    Index

    Constructors

    • Instancia el controlador con una estrategia de persistencia.

      Parameters

      • persistencia: string

        Tipo de almacenamiento a utilizar ('mongo', 'archivo', 'memoria', etc.).

      Returns default

    Properties

    service: default

    Servicio de autenticación que contiene la lógica del negocio.

    Methods

    • Elimina un usuario por ID

      Parameters

      • req: any
      • res: any

      Returns Promise<void>

    • Método invocado tras un login local exitoso mediante Passport.js. Redirige al endpoint /auth/perfil.

      Parameters

      • req: any

        Objeto de solicitud HTTP.

      • res: any

        Objeto de respuesta HTTP.

      • next: any

      Returns Promise<void>

      // Usado como callback en estrategia passport-local
      app.post('/auth/login', passport.authenticate('local'), controller.loginLocal);
    • Cierra la sesión activa del usuario autenticado. Utiliza req.logout() de Passport y responde con un mensaje de éxito.

      Parameters

      • req: any

        Objeto de solicitud HTTP.

      • res: any

        Objeto de respuesta HTTP.

      • next: Function

        Función de middleware para capturar errores en logout.

      Returns Promise<void>

      Confirma el cierre de sesión o pasa error a middleware.

      // POST /auth/logout
      app.post('/auth/logout', controller.logout);
    • Devuelve la información del perfil del usuario autenticado. Verifica si hay una sesión activa utilizando req.isAuthenticated().

      Parameters

      • req: any

        Objeto de solicitud HTTP.

      • res: any

        Objeto de respuesta HTTP.

      Returns Promise<void>

      Responde con los datos del usuario autenticado o error 401.

      // GET /auth/perfil
      app.get('/auth/perfil', controller.perfil);
    • Registra un nuevo usuario con los datos proporcionados en el cuerpo de la solicitud.

      Parameters

      • req: any

        Objeto de solicitud HTTP, espera nombre, email y password en req.body.

      • res: any

        Objeto de respuesta HTTP.

      Returns Promise<void>

      Responde con el nuevo usuario creado o un error.

      // POST /auth/register
      req.body = {
      nombre: "Juan",
      email: "juan@mail.com",
      password: "1234"
      }