Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Aviso
titleAtençã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).

...

Dica
titleDica

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. 

Bloco de código
titleComandos para interação com o cacerts
# Verifica se existe o alias
keytool -v -list -alias "<ALIAS_CERTIFICADO>" -keystore cacerts -storepass changeit

# Importação para o cacerts
keytool -v -import -noprompt -trustcacerts -alias "<ALIAS_CERTIFICADO>" -file <ARQUIVO_CERTIFICADO> -keystore cacerts -storepass changeit

# Exclui o certificado do cacert
keytool -delete -noprompt -alias "<ALIAS_CERTIFICADO>" -keystore 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)

Image Added

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).

O campo "Alias Default" apresenta as opções passiveis de seleção, que por sua vez, pertencem a lista de "Alias" da própria tela. Em conjunto com a chave "Utilizar este Alias como default" ativam a validação do token JWT exclusivamente por este certificado.

Image Removed

Caso a opção "Utilizar este Alias como default" esteja desabilitado, o token JWT será validado por todos os alias cadastrados na lista.

Image Removed

Informações
titleInformação

Independentemente da quantidade de alias cadastrados na tela de "Propriedades JWT", será realizada a validação pelo certificado "nativo" do Datasul quando a chave "Utilizar este Alias como default" estiver desativada.

Para mais informações do local de parametrização está disponível em: https://tdn.totvs.com/pages/releaseview.action?pageId=580483346

Funcionamento

...

Abaixo temos como funciona o processo de autenticação com JWT:

  • Na primeira requisição no lado client, deverá ser solicitado o token JWT ao servidor, utilizando Basic Authentication com um usuário válido no produto.
  • Será retornado pelo servidor um token JWT, que deverá ser utilizados para as requisições subsequentes.
  • De posse do token JWT, você poderá acessar as APIs REST e demais funcionalidades do produto, utilizando a autenticação Bearer Token e informando o token JWT recebido.


Documentos relacionados 

...