Получение ошибки 403 при интеграции приложения реакции с wso2

Я интегрирую приложение реакции с 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",
    

Пожалуйста посоветуй.

Я следую инструкциям здесь

Какая у вас версия WSO2 IS?

Anuradha Karunarathna 16.04.2023 03:22

Версия 5.11.0

Varad 16.04.2023 07:04

Вам не нужно настраивать web.xml.j2 для конфигураций cors в IS-5.11.0 и выше. Конфигурации CORS должны выполняться через deployment.toml.

Anuradha Karunarathna 17.04.2023 15:14

Поэтому удалите изменения в файле web.xml.j2 и продолжите работу с добавленными вами изменениями в deployment.toml. Даже если вы не смогли заставить его работать, установите для allow_any_origin значение true и попробуйте выполнить следующие действия, чтобы убедиться, что конфигурации cors начинают действовать.

Anuradha Karunarathna 17.04.2023 15:24
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
4
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Конфигурации CORS должны быть сделаны из deployment.toml в IS 5.11.0, и не требуется обновлять web.xml (или j2). Таким образом, вы можете отменить изменения, сделанные в шаблоне j2, и продолжить использовать конфигурацию, определенную в файле deployment.toml.

Вы можете обратиться к документации для получения дополнительной информации.

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