Socket.io: Error de CORS en la última versión

Creado en 9 nov. 2020  ·  7Comentarios  ·  Fuente: socketio/socket.io

La versión anterior de socket.io simplemente funciona bien, pero la última versión muestra un error CORS al intentar conectarse de adelante hacia atrás. También agregué el middleware CORS al servidor, pero no funciona. Pero cuando vuelvo a la versión anterior de socket, simplemente funciona bien.

image

question

Comentario más útil

¡Hola! Lo siento, la documentación está en proceso de actualización para v3.

Agregué una sección sobre CORS aquí: https://socket.io/docs/v3/handling-cors/

¿Podrías comprobar si eso es lo suficientemente claro?

Todos 7 comentarios

Hola, creo que esto se debe a que la documentación no refleja el cambio que se realizó con la versión 3.0.
Consulte este enlace https://socket.io/docs/migrating-from-2-x-to-3-0/ , sección Manejo de CORS.

No voy a mentir, es una especie de fastidio. Empecé a jugar con socket.io hoy mismo y enseguida hay obstáculos. Lo degradaría a 2.x, pero parece que la documentación no tiene control de versiones.

¡Hola! Lo siento, la documentación está en proceso de actualización para v3.

Agregué una sección sobre CORS aquí: https://socket.io/docs/v3/handling-cors/

¿Podrías comprobar si eso es lo suficientemente claro?

@darrachequesne gracias, ¡está resuelto!

Esto podría causar problemas a las personas con proyectos glitch.me. Al actualizar a v3, los proyectos de glitch.me comienzan a responder con el error saifulshihab publicado. Sin embargo, parece que CORS está en contra de glitch.me y los TOS de AWS y se eliminará un proyecto. ¿Hay alguna forma de ejecutar el marco v3 sin incluir CORS?

No entiendo completamente qué es CORS y por qué es un problema. Solo estoy tratando de armar un plan.

Hola @quindo : solo quería aclarar que habilitar CORS no va en contra de los TOS de Glitch. Algunos usuarios estaban usando paquetes npm particulares como CORS-anywhere por razones maliciosas y eso va en contra de nuestros TOS.

para quienes enfrentan el problema: -

// server-side
const io = require("socket.io")(httpServer, {
  cors: {
    origin: "https://example.com",
    methods: ["GET", "POST"],
    allowedHeaders: ["my-custom-header"],
    credentials: true
  }
});

// client-side
const io = require("socket.io-client");
const socket = io("https://api.example.com", {
  withCredentials: true,
  extraHeaders: {
    "my-custom-header": "abcd"
  }
});

Creo que esto ahora se puede cerrar. Vuelva a abrir si es necesario.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Aweather picture Aweather  ·  4Comentarios

karmac2015 picture karmac2015  ·  3Comentarios

gCurtisCT picture gCurtisCT  ·  4Comentarios

stnwk picture stnwk  ·  4Comentarios

doughsay picture doughsay  ·  4Comentarios