Histórico da Página
Informações | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Aviso | ||
---|---|---|
| ||
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 inteira responsabilidade dos provedores de tais ferramentas o suporte para esse tipo de configuração e uso. No entanto, para 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 JWT token JWT
- O Token token deve conter o email do usuário que deve existir no , 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 que deve conter a chave pública no cacert do Java que inicializou o JBoss com um alias do certificado específico: "jwtWSO2"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. |
Bloco de código | ||
---|---|---|
| ||
# 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)
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 via Token com token JWT:
Informações | ||
---|---|---|
| ||
Caso já possua as configurações do JWT WSO2 configuradas, a validação do token será múltipla, ou seja, é possível efetuar o acesso com um token gerado pelo WSO2 ou nativamente pelo produto Datasul. |
...
Importação de um certificado específico
...
A partir da release 12.1.29 da linha Datasul, foi disponibilizado a parametrização de um disponibilizada uma tela (Propriedades JWT) para o cadastro dos "alias" específico para específicos na resolução de um token JWT externo, no qual onde o certificado deve estar previamente importado no cacerts (Java).
Para informar este "alias", deve-se incluir no arquivo "josso_config.properties" o parâmetro "josso.jwt.cert.alias", que conterá o "alias" informado previamente na importação do certificado, caso configurado, a validação do token JWT será realizada exclusivamente por este certificado.
...
title | Dica |
---|
...
mais informações do local de parametrização está disponível em: https://tdn.totvs.com/pages/releaseview.action?pageId=580483346
Funcionamento
...
Documentos relacionados
...