что такое решение для соединения socketio с экспрессом с помощью «Access-Control-Allow-Origin», «*» - PullRequest
0 голосов
/ 25 июня 2018

Я хочу соединиться с socket.io с бэкэндом, использующим Express.

бэкэнд используется как API для других функций.Итак, я использую некоторое промежуточное программное обеспечение для добавления заголовков к выражению (вы можете видеть это в коде).

проблема в том, что socketio на стороне клиента выдает следующую ошибку:

Значениезаголовка «Access-Control-Allow-Origin» в ответе не должно быть подстановочным знаком «*», если режим учетных данных запроса «include».

, но мне нужно оставить «*», чтобы разрешитьвсе пользователи из любого места, где можно получить доступ к моему API.

var express = require('express'); var server = express(); 
var app = require('http').Server(server); 
var io = require('socket.io')(app); 
io.set( "Access-Control-Allow-Origin", "*" ); 
require('./controllers/watsonIoT.controller').startWatson(io);

server.use(function(request, response, next) { // configuration of headers
        response.header("Access-Control-Allow-Origin", "*");
        response.header("Access-Control-Allow-Headers", "Content-Type, x-auth");
        response.header("Access-Control-Allow-Methods", "GET,POST,DELETE,PUT")
        next();
    })
    .use('/gui', express.static('views'))
    .use(bodyParser.json())
    .use('/api', mainRouter)
    .get('*', (req, res) => res.redirect('/'))
    .listen(PORT,function(){
        console.log("Starting ... port: "+ PORT);
        // startWatson();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...