auth.js: 84 Блокировка перекрестного источника (CORB) заблокировала ответ перекрестного источника http://myserver/auth с приложением MIME-типа / json.
Это неработать с Firefox, хотя сообщение об ошибке Firefox является более общим. Как ни странно, панель «Сеть» Firefox показывает, что нужный мне ответ действительно получен, браузер просто не принимает ответ, чтобы передать его в мой код JavaScript.
Это настройка CORS из моего krakend.json
file:
"github_com/devopsfaith/krakend-cors": {
"allow_origins": ["http://localhost:61552"],
"allow_headers": ["Origin", "Authorization", "Content-Type", "Accept", "X-Auth-Token", "Referer", "User-Agent"],
"expose_headers": ["Content-Type", "Content-Length"],
"allow_credentials": true,
"allow_methods": ["GET", "HEAD", "POST", "OPTIONS"]
}
И это конкретная конечная точка, которая вызывается:
"endpoints": [{
"endpoint": "/auth",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
"github.com/devopsfaith/krakend-ratelimit/juju/router": {
"maxRate": 20,
"clientMaxRate": 8,
"strategy": "ip"
}
},
"backend": [{
"url_pattern": "/connect/token",
"encoding": "no-op",
"sd": "dns",
"host": ["identity-server.service.consul"],
"disable_host_sanitize": true
}]
},
Мой запрос JavaScript выглядит так:
xhr.open('POST', url);
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.withCredentials = true;
xhr.onreadystatechange = function () {
...
}
xhr.send(...
Я думал о попыткеизмените тип содержимого ответа на text/plain
в случае, если это поможет, но в настоящее время у меня нет доступа к коду, который генерирует этот ответ, и я не знаю, поможет ли это в любом случае.
Когда я делаю этот же запрос с сервера node.js или из приложения, такого как Postman, все возвращается правильно, и заголовки, которые я хотел бы увидеть, на мой взгляд, должны быть достаточными для того, чтобы CORS был счастлив (access-control-allow-credentials: true
)access-control-allow-origin: *
)