Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

290
Vistas
¿Es esta interfaz de javascript, el escenario de back-end de NodeJS viable para trabajar?

Tengo un Dominio-A que es un sitio estático creado en netlify para proporcionar servicios de carrito de compras.

Tengo un backend de servidor Dominio-B que ejecuta un pago en Node.JS y procesa los servicios de autenticación a través de pasaporte.js.

Como un sitio estático en Netlify, este Dominio-A no puede proporcionar ningún servicio de back-end. El usuario ve las páginas web de este dominio, selecciona productos y finalmente presiona un botón de compra. Este botón invoca el código JS que se ejecuta en el navegador y envía un AJAX /inicio de sesión al Dominio-B. Inicia sesión correctamente. Devuelve una cookie connect.sid al Dominio-A con SameSite:none, Secure:true. Puedo ver la cookie con Chrome Debugger.

Después de un retorno de inicio de sesión exitoso del Dominio-B, el Dominio-A ahora envía un AJAX GET al Dominio-B solicitando información del vendedor y del pago. Pero el GET siempre falla con un 403 "Usuario no conectado".

El AJAX GET incluye

 crossDomain: true, headers: { "Content-Type": "text/plain", "withCredentials": true },

El tipo de contenido es para convertirlo en una obtención simple de CORS y evitar problemas de verificación previa, withCredentials para asegurarse de que la cookie se incluya con el GET. Intenté usar un POST, pero parece que siempre activa el procesamiento Preflight, lo que crea muchas otras complejidades.

Mi pregunta básica es, ¿debería poder hacer esto, iniciar sesión y realizar un GET desde el código del navegador del sitio estático del Dominio-A, a un servidor NodeJS en el Dominio-B? O, ¿debo salir de Netlify y ponerlo en algo como DigitalOcean donde el Dominio-A tiene un backend que puede iniciar sesión y obtener o publicar en el Dominio-B?

¿Hay algún código de muestra en algún lugar donde pueda copiar la estructura a mi escenario?

ACTUALIZACIÓN: 2022-02-20 Este es mi código cors() del lado del servidor:

 var corsOptions = { "origin": 'https://www.chicagomegashop.com', "methods": "GET, PUT, POST, DELETE, HEAD, OPTIONS", "credentials": true, "allowedHeaders": ['Content-Type'], "optionsSuccessStatus": 204 }; app.use(cors(corsOptions));

Con respecto a mi preocupación de que no se guarde ninguna cookie. Aquí está la cookie tal como llega como un encabezado de respuesta: ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Pero ahora, al buscar la cookie en el dominio, no está allí:

ingrese la descripción de la imagen aquí

¿Algo está mal o no estoy interpretando correctamente lo que veo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

intenta mover withCredentials fuera de los headers

 crossDomain: true, headers: { "Content-Type": "text/plain", }, withCredentials: true

Además, en su servidor backend, ¿tiene cors configurados para permitir lo que su frontend está tratando de hacer?

 cors({ origin: 'netlifysite_uri', credentials: true, allowedHeaders: ['Content-Type'], })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda