Я использую FOSRestBundle с Nelmio Cors Bundle и у меня есть некоторые конечные точки, / api / name_end_points, и мне нужно, чтобы у некоторых серверов были полномочия для вызова этих конечных точек.
Теперь у меня ошибка в консоли
XMLHttpRequest cannot load http://mydomain.com.com/api/endpoint?value=test&value1=test. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:3000' is therefore not allowed access.
Это мой конфиг:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
formats:
xml: true
json : true
templating_formats:
html: true
force_redirects:
html: true
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
routing_loader:
default_format: json
nelmio_cors:
defaults:
allow_credentials: false
allow_origin: []
allow_headers: []
allow_methods: []
expose_headers: []
max_age: 0
hosts: []
origin_regex: false
paths:
'^/':
allow_origin: ['*']
allow_headers: ['*']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
Как исправить конфигурацию NelmioCorsBundle, если я хочу получить доступ к true для какого-либо сервера для моих конечных точек? Как это
allow_origin: ['*aog.jobs*', '*localhost*']
и удалил дефолт?
Вы должны явно указать, что источник (как указано в Origin
запрос заголовок) разрешается доступ к ресурсу путем копирования значения Origin
Заголовок запроса в Access-Control-Allow-Origin
ответ заголовок (вместо жесткого кодирования *
).
Будьте уверены, что хотите сделать это глобально доступным для всего мира, прежде чем сделать это (или выполнить тест на значение Origin
заголовок, чтобы убедиться, что все в порядке).
Других решений пока нет …