EntrevistadorInteligente / si-client-app

Aplicación del entrevistador inteligente
https://www.kahop.com/es/pagina-principal/
GNU Affero General Public License v3.0
15 stars 2 forks source link

Implementar autenticación con Auth2 y OpenAPI Connect #55

Open MranDvX opened 3 months ago

MranDvX commented 3 months ago

Queremos mejorar nuestro sistema de autenticación en el frontend utilizando Auth0 y OpenAPI Connect para aprovechar características como el silent token refresh y la validación de tokens del backend al frontend. Actualmente, estamos utilizando la librería angular-oauth2-oidc.

Objetivo:

Implementar la autenticación con Auth0 y OpenAPI Connect en el frontend para mejorar la seguridad y la experiencia del usuario mediante el uso de silent token refresh y la validación de tokens.

Tareas:

  1. Configurar Auth0:

    • Crear y configurar una nueva aplicación en Auth0 si aún no se ha hecho.
    • Obtener las credenciales necesarias (client ID, domain).
  2. Integrar Auth0 en el frontend:

    • Reemplazar angular-oauth2-oidc con las librerías de Auth0.
    • Implementar el flujo de autenticación utilizando Auth0, incluyendo login, logout y manejo de sesiones.
    • Configurar silent token refresh para renovar tokens automáticamente sin la intervención del usuario.
    • Asegurarse de que la autenticación de usuario y la obtención de tokens funcionen correctamente.
  3. Validación de tokens en el frontend:

    • Implementar la lógica para validar los tokens recibidos desde el backend.
    • Asegurarse de que las solicitudes al backend incluyan tokens válidos y actualizados.
    • Manejar errores de autenticación y renovación de tokens adecuadamente.
  4. Pruebas y validación:

    • Realizar pruebas exhaustivas para asegurar que la autenticación funcione correctamente en diferentes escenarios.
    • Verificar que el silent token refresh se realiza correctamente.
    • Validar la comunicación segura entre el backend y el frontend utilizando los tokens.

Recursos:

Evidencia:

Adjuntar cualquier archivo de configuración o código relevante una vez completadas las tareas.