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:
⚠️ Atenção:
Novo cabeçalho obrigatório a partir da versão 3.1.18 do app Meu RH
Adição do x-totvs-app no allowHeaders
<Valve className="com.totvs.valve.TotvsCorsValve" allowHeaders="Content-Type,Accept,Accept-Language,Content-Language,Authorization,tenantId,userId,companyId,authorization,returnformatversion,x-totvs-app" contextsToValidate="/totvs-login,/totvs-rest,/dts,/api,/webexecbo,/html-hcm,/totvs-login-oauth2" 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 TOMCAT dentro da pasta \conf (exemplo de uma instalação padrão C:\totvs\datasul\dts-0\THF8080\instance-8080\apache-tomcat-9.0.31\conf)
A tag de configuração pode ser inserida após a entrada <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/> no final do arquivo antes do fechamento da TAG </Hots> conforme ilustração. Apenas devemos observar o fechamento correto de todas as TAGS.
Antes da configuração do CORS
Após a configuração do CORS
Além da configuração do arquivo server.xml, se faz necessário termos o arquivo totvs-valve.jar em seu ambiente.
A partir da versão 12.1.2311 o arquivo totvs-valve.jar será adicionado automaticamente durante a atualização do ambiente via console. Conforme documentação: TOTVS CORS Valve