Ограничительный Заголовок "Access-Control-Allow-Origin" отсутствует в запрашиваемом ресурсе.

Я пытаюсь сделать следующий вызов с Restangular к службе JAX-RS REST (то есть с включенным COR).

    var baseUsers = Restangular.all("users");

    $scope.users = '{[]}';

    $scope.users = baseUsers.getList().then(function(result) {
        console.log("Got users", response.status);
    }, function(response) {
        console.log("Failed to find users with status code", response.status);
    });

Но я продолжаю видеть эту ошибку в консоли:

XMLHttpRequest cannot load http://135.60.151.27:9080/app/users. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8383' is therefore not allowed access.

Из POSTMan я вижу заголовки CORs в ответе:

Access-Control-Allow-Credentials →true
Access-Control-Allow-Headers →Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since
Access-Control-Allow-Methods →GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin →*
Content-Length →2
Content-Type →application/json
Date →Thu, 03 Jul 2014 14:34:25 GMT
X-Powered-By →Servlet/3.0

Я подумал, что это может быть вызвано проблемой REST OPTIONS, но это также возвращает те же заголовки CORs.

1 ответ

Access-Control-Allow-Credentials: true не смешивается с Access-Control-Allow-Origin: *

В спецификации:

Строка "*" не может использоваться для ресурса, который поддерживает учетные данные.

Когда вы разрешаете учетные данные, крайне опасно разрешать любое происхождение. Таким образом, любой сайт, который вы посещаете в Интернете, теоретически может действовать от вашего имени на вашем неправильно настроенном веб-сайте без вашего согласия или даже без вашего уведомления.

Таким образом, вы должны включить только один хост в Access-Control-Allow-Origin или внедрить систему, которая добавляет имя хоста из Host заголовок запроса, если он соответствует предопределенному белому списку / регулярному выражению.

Другие вопросы по тегам