Socket.io: Erreur CORS dans la dernière version

Créé le 9 nov. 2020  ·  7Commentaires  ·  Source: socketio/socket.io

La version plus ancienne de socket.io fonctionne très bien, mais la dernière version affiche une erreur CORS lors de la tentative de connexion d'avant en arrière. J'ai également ajouté le middleware CORS au serveur mais cela ne fonctionne pas. Mais lorsque je reviens à l'ancienne version de socket, cela fonctionne parfaitement.

image

question

Commentaire le plus utile

Salut! Désolé pour cela, la documentation est en cours de mise à jour pour la v3.

J'ai ajouté une section sur CORS ici: https://socket.io/docs/v3/handling-cors/

Pourriez-vous s'il vous plaît vérifier si c'est assez clair?

Tous les 7 commentaires

Salut, je pense que c'est parce que la documentation ne reflète pas la modification apportée à la version 3.0.
Veuillez consulter ce lien https://socket.io/docs/migrating-from-2-x-to-3-0/ , section Gestion CORS.

Je ne vais pas mentir, c'est un peu décevant. J'ai commencé à jouer avec socket.io juste aujourd'hui et tout de suite il y a des barrages routiers. Je reviendrais à la version 2.x mais il semble que la documentation ne dispose pas de versioning.

Salut! Désolé pour cela, la documentation est en cours de mise à jour pour la v3.

J'ai ajouté une section sur CORS ici: https://socket.io/docs/v3/handling-cors/

Pourriez-vous s'il vous plaît vérifier si c'est assez clair?

@darrachequesne merci, c'est résolu!

Cela pourrait poser des problèmes aux personnes ayant des projets glitch.me. Lors de la mise à niveau vers la v3, les projets glitch.me commencent à répondre avec l'erreur saifulshihab publiée. Cependant, il semble que CORS soit contre glitch.me et le TOS d'AWS et obtiendra un projet supprimé. Existe-t-il un moyen d'exécuter le framework v3 sans inclure CORS?

Je ne comprends pas tout à fait ce qu'est CORS et pourquoi c'est un problème. J'essaie juste de mettre en place un plan.

Salut @quindo - je voulais juste préciser que l'activation de CORS n'est pas contre le TOS de Glitch. Certains utilisateurs utilisaient des packages npm particuliers comme CORS-n'importe où pour des raisons malveillantes et cela va à l'encontre de nos TOS.

pour ceux qui font face au problème: -

// 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"
  }
});

Je pense que cela peut maintenant être fermé. Veuillez rouvrir si nécessaire.

Cette page vous a été utile?
0 / 5 - 0 notes