Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

292
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!