Добавьте приведенную ниже конфигурацию к <IS-HOME>/repository/resources/conf/templates/repository/conf/tomcat/web.xml.j2
в дистрибутиве WSO2 Identity Server.
Обратите внимание, что ниже приведен пример, взятый из https://github.com/wso2/identity-apps#run -in-dev-mode . Это также должно работать для вас.
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>https://localhost:9000, https://localhost:9001</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>
В приведенном выше примере для param-value
из <param-name>cors.allowOrigin</param-name>
Добавьте хосты, для которых вы хотите разрешить CORS (вы можете добавить несколько значений через запятую или через пробел) , Если у хоста есть порт, он также должен быть включен. В идеале это должно быть в формате <protocol>://<host>:<port>
.
Также в вышеупомянутом случае для param-value
из <param-name>cors.supportedMethods</param-name>
. Добавьте необходимые вам методы HTTP (вам всегда понадобится метод OPTIONS, так как он используется для проверки CORS).
Вы можете настроить URL-адреса, чтобы разрешить CORS, используя конфигурацию <url-pattern>
. <url-pattern>/*</url-pattern>
означает, что CORS разрешен для всех URL-адресов Identity Server.
Для получения дополнительной информации о конфигурациях фильтра CORS см. http://software.dzhuvinov.com/cors-filter-configuration.html