vicenteroa / CardioCare-IA

CardioCare-IA es un proyecto universitario para tratar enfermedades cardiovasculares
https://cardio-care-ia.vercel.app/
MIT License
1 stars 0 forks source link

Habilitar adaptador SSR | Error Signin Firebase #2

Closed vicenteroa closed 6 months ago

vicenteroa commented 6 months ago

Descripción

El archivo signin.ts en la página Astro no está configurado para permitir el inicio de sesión con Firebase. Además, el SSR no está habilitado en la configuración actual de Astro, lo que puede afectar el rendimiento y la experiencia del usuario.

Acción requerida

Habilitar el SSR en la configuración de Astro y adaptar el código de signin.ts para permitir el inicio de sesión con Firebase.

Tareas sugeridas

  1. Investigar y configurar SSR en Astro según la documentación oficial. Doc

  2. Actualizar el archivo signin.ts para integrar el inicio de sesión con Firebase.

  3. Realizar pruebas exhaustivas para asegurar que el inicio de sesión funcione correctamente en SSR y cliente.

vicenteroa commented 6 months ago

Respuesta

He realizado una serie de cambios para abordar el problema reportado en el issue. En primer lugar, migré la aplicación de Netlify a Vercel y ajusté la configuración de Astro para habilitar el SSR del lado del servidor, siguiendo la documentación oficial.

Adaptadores de Renderización Bajo Demanda

SSR ASTRO

Para configurar el SSR en Astro, modifiqué la configuración para activar el renderizado bajo demanda en el servidor, como se especifica en la documentación. Utilicé el comando npx astro add vercel para actualizar la configuración de Astro y habilitar el SSR del lado del servidor.

Comando usado:


npx astro add vercel

Inicio de sesión

realicé cambios en el archivo de registro (register.ts) , al momento de guardar la contraseña en el try del autenticador de firebase , este guardaba la contraseña encriptada y no la de texto plano

  const hashedPassword = await bcrypt.hash(password, 10)

  /* Crear un usuario en el AUTENTICADOR DE FIREBASE */
  try {
    const userRecord = await auth.createUser({
      email,
      password: hashedPassword, // ERROR ⚠️: Guardado de contraseña encryptada
      displayName: name
    })

Cambio:


  const password = formData.get('password')?.toString() //Linea 14

  const hashedPassword = await bcrypt.hash(password, 10)

  try {
    const userRecord = await auth.createUser({
      email,
      // eslint-disable-next-line object-shorthand
      password: password, // SOLUCION ✅: Guardado de contraseña texto Plano
      displayName: name
    })

Con estos cambios implementados, el inicio de sesión debería funcionar correctamente tanto en el servidor como en el cliente, y el error de inicio de sesión.

Dado que los problemas reportados han sido abordados y resueltos satisfactoriamente, procederé a cerrar este issue. ¡