Matriz de Evolução
Versão/Release | Funcionalidade |
---|---|
12.1.27 |
|
12.1.29 |
|
Atenção
O produto TOTVS Datasul disponibiliza a autenticação Json Web Token (JWT) para integração seguindo os padrões de mercado. Para integrações que utilizem de ferramentas APIs Gateways (ex:WSO2) é de responsabilidade dos provedores de tais ferramentas o suporte para esse tipo de configuração e uso.
Para o produto TOTVS Datasul, esse documento define o que é necessário para que a comunicação aconteça de forma adequada.
Premissas/Requisitos
- Utilização do API Manager (WSO2).
- Configuração API Manager para uso do token JWT
- O token deve conter o email do usuário, o mesmo do cadastro de usuário do produto.
Configuração
Utilização com API Manager WSO2
Com a API Manager previamente configurado, deve-se importar o certificado no cacert do "Java" no qual o servidor de aplicação foi inicializado, com o alias cadastrado em "Propriedades JWT" (apresentado posteriormente).
Os comando deve ser executado na estrutura de diretórios ../lib/security do Java correspondente.
Dica
Para localizar o Java que iniciou o Apache Tomcat (servidor de aplicação), basta localizar por "Java Home" no arquivo "catalina.YYYY-MM-DD.log".
Exemplo:
Java Home: c:\Program Files\java\jdk1.8.0_101\jre
O diretório onde estão os cerificados está em c:\Program Files\java\jdk1.8.0_101\jre\lib\security
OBS: O caminho pode mudar conforme a versão do java.
# Verifica se existe o alias keytool -v -list -alias "<ALIAS_CERTIFICADO>" -cacerts -storepass changeit # Importação para o cacerts keytool -v -import -noprompt -trustcacerts -alias "<ALIAS_CERTIFICADO>" -file <ARQUIVO_CERTIFICADO> -cacerts -storepass changeit # Exclui o certificado do cacert keytool -delete -noprompt -alias "<ALIAS_CERTIFICADO>" -cacerts -storepass changeit
Utilização geração e validação "nativas" do produto Datasul
A partir da release 12.1.27, o produto Datasul disponibiliza a geração do token JWT e sua validação no acesso aos endpoints. Para isto, basta que seja efetuado uma requisição ao endpoint http://<SERVIDOR>:<PORTA>/api/auth/accesstoken, passando como parâmetros a autenticação por "Basic Authentication" um usuário e senha de acesso ao produto Datasul. Caso seja um usuário válido e autorizado a entrar no produto, será retornado o token JWT.
Exemplo requisição via Postman com usuário interno
<USUARIO>: Código do usuário (Interno) do ERP Datasul
<SENHA>: Senha do usuário (Interno) do ERP Datasul
Exemplo requisição via Postman com usuário externo
<USUARIO>: Login do usuário de rede (Active Directory)
<DOMINIO>: Domínio de rede do usuário
<SENHA>: Senha do usuário da rede (Active Directory)
Obs: Para o usuário externo é necessário configurar o LDAP.
De posse a este token JWT (com prazo de utilização por 1 hora), é permitido o acesso as requisições onde o token gerado deve ser repassado com a Header de Authorization via "Bearer Token".
Não é necessário efetuar o cadastro do alias para que seja realizada a validação por este cerificado (nativo no produto Datasul), porém a chave "Utilizar este Alias como default" (em versões superiores a 12.1.29, apresentado posteriormente) deve estar desativada.
Exemplo de acesso a endpoint com token JWT:
Importação de um certificado específico
A partir da release 12.1.29 da linha Datasul, foi disponibilizada uma tela (Propriedades JWT) para o cadastro dos "alias" específicos na resolução de um token JWT externo, onde o certificado deve estar previamente importado no cacerts (Java).
Para mais informações do local de parametrização está disponível em: https://tdn.totvs.com/pages/releaseview.action?pageId=580483346