CORS - Cross-Origin Resource Sharing (Compartilhamento de recursos com origens diferentes) é um mecanismo que usa cabeçalhos adicionais HTTP para informar a um navegador que permita que um aplicativo Web seja executado em uma origem (domínio) com permissão para acessar recursos selecionados de um servidor em uma origem distinta. Um aplicativo Web executa uma requisição cross-origin HTTP ao solicitar um recurso que tenha uma origem diferente (domínio, protocolo e porta) da sua própria origem.
Aplicações modernas utilizam o CORS para trazer um nível de segurança maior para elas. A utilização do CORS é importante, porque além de poder restringir quem pode acessar os recursos de um servidor, também pode especificar como esses recursos devem ser acessados
Para realizar a configuração em ambientes Datasul, basta alterar o arquivo server.xml, adicionando o seguinte trecho de código:
Alteração no arquivo SERVER.XML
<Valve className="com.datasul.framework.valve.DatasulValve" allowHeaders="Content-Type,Accept,Accept-Language,Content-Language,Authorization,returnformatversion" contextsToValidate="/dts/datasul-rest,/api,/webexecbo,/josso,/dts/portal-hcm" allowOrigin="http://localhost ionic://localhost capacitor://localhost" allowMethods="GET, POST, DELETE, PUT, PATCH, HEAD, OPTIONS" allowCredential="true" />
Este arquivo fica localizado na estrutura do ambiente JBOSS dentro da pasta \jboss-web.deployer (exemplo de uma instalação padrão C:\TOTVS\datasul\dts-0\ServidorAplicacao\jboss-4.2.3.GA\server\instance-8580\deploy\jboss-web.deployer)
<Valve className="org.josso.tc55.agent.SSOAgentValve" debug="1"/>
Além da configuração do arquivo server.xml, se faz necessário copiarmos também o arquivo datasul-framework-valve.jar para a pasta \lib da estrutura do JBOSS (exemplo de uma instalação padrão C:\TOTVS\datasul\dts-0\ServidorAplicacao\jboss-4.2.3.GA\server\instance-8580\lib).
Link do arquivo: https://tdn.totvs.com/download/attachments/514438300/datasul-framework-valve.jar?api=v2