Я интегрирую приложение реакции с wso2. Я использую axios, чтобы сделать запрос на выборку, чтобы вернуть токен.
Я настроил web.xml.j2
с фильтром cors
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, HEAD, POST, DELETE, OPTIONS, PATCH, PUT</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Location</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
Кроме того, я также установил файл deployment.toml
с исключением CORS.
[cors]
allow_generic_http_requests = true
allow_any_origin = false
allowed_origins = [
"http://localhost:3000"
]
allow_subdomains = false
supported_methods = [
"GET",
"POST",
"HEAD",
"OPTIONS"
]
support_any_header = true
supported_headers = []
exposed_headers = []
supports_credentials = true
max_age = 3600
tag_requests = false
После всего этого я все еще получаю сообщение об ошибке, как показано ниже.
TOKEN REQUEST ERROR
{
"data": "Cross-Origin Resource Sharing (CORS) Filter: CORS origin denied: http://localhost:3000\n",
"status": 403,
"statusText": "",
"headers": {
"content-length": "87",
Пожалуйста посоветуй.
Я следую инструкциям здесь
Версия 5.11.0
Вам не нужно настраивать web.xml.j2 для конфигураций cors в IS-5.11.0 и выше. Конфигурации CORS должны выполняться через deployment.toml.
Поэтому удалите изменения в файле web.xml.j2 и продолжите работу с добавленными вами изменениями в deployment.toml. Даже если вы не смогли заставить его работать, установите для allow_any_origin
значение true и попробуйте выполнить следующие действия, чтобы убедиться, что конфигурации cors начинают действовать.
Конфигурации CORS должны быть сделаны из deployment.toml в IS 5.11.0, и не требуется обновлять web.xml (или j2). Таким образом, вы можете отменить изменения, сделанные в шаблоне j2, и продолжить использовать конфигурацию, определенную в файле deployment.toml.
Вы можете обратиться к документации для получения дополнительной информации.
Какая у вас версия WSO2 IS?