Json Web Token - JWT
JWT (JSON Web Token) é uma maneira eficaz e segura de transmitir informações entre partes confiáveis em um formato autenticado e compacto. Ele é amplamente usado em aplicações web modernas como uma solução de autenticação e autorização. Com esse conector será possivel validar, criar e extrair valores de tokens JWTs fornecendo assim uma maior segurança e compatibilidade nos fluxos de integração.
Nota: Para mais informações consulte o site oficial do jwt.io
1- Este conector não precisa de conexão para ser usado. Basta configurar suas parametrizações de acordo com a lógica a ser implementada no fluxo. Para usá-lo, crie um fluxo e arraste o conector JWT para o canvas.
OBS: Acesse aqui o passo a passo para criar um fluxo.
2- Após arrastar o conector para o canvas, selecione-o e na aba Parametrizações, preencha os seguintes parâmetros de configuração:
- Operação: ação que será realizada.
- Decodificar Token: requer o preenchimento do campo Token e da parte do token que será decodificado no campo Decodificar, tendo disponiveis as opções Reivindicações(claims) e Cabeçalho(header);
- Criar Token: requer o preenchimento do campo Chave Secreta no qual será usado para assinatura do token, o campo Método de Assinatura (atualmente é suportado três tipos, sendo eles HS256, HS384 e HS512), e por fim o campo Reivindicações usado para informar o payload que deseja criptografar, podendo ser eviado utilizando De/para ou Template;
- Validar Token: requer o preenchimento dos campos Chave Secreta e Token;
Nota: Estes campos podem ser preenchidos usando Fluid Expression Language.
3- Na aba Propriedades dê um nome ao 'Passo' e se necessário detalhe uma descrição.
Neste tópico criaremos um fluxo que irá demonstrar todas as operações disponíveis do conector JWT. O fluxo terá quatro passos, sendo eles create, decode-claims, decode-header e validate, onde será criado um token que irá ser decodificado e validado.
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/Rhx9TmnJZ23l3Wj-2RDtK_image.png?format=webp)
Assim ficará a Parametrização do nosso primeiro passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/9k9I5hQXxZEfNi0SJZhxj_image.png?format=webp)
As reinvidicações do token gerado estão sendo enviadas via De/para , que pegará um valor de entrada enviado no disparo do fluxo e criará um objeto para as reinvidicações do token. E assim ficou nosso de/para:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/4mHTFe4hV1S60ii_ZRNIE_image.png?format=webp)
Na aba Propriedades informamos o nome do passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/8-uagScbRlQuh3hsv5gP3_image.png?format=webp)
Assim ficará a Parametrização nosso segundo passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/lJT2G6PK1h5N42P5b7qsg_image.png?format=webp)
Utilizamos uma função do Fluid Expression Language para buscar o valor do token criado no primeiro passo 'create'.
Na aba Propriedades informamos o nome do passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/kVssqjg4nMzia_KsRVDu0_image.png?format=webp)
Assim ficará a Parametrização nosso terceiro passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/pNU9SkCj81bFP7Y8VDfBJ_image.png?format=webp)
Utilizamos uma função do Fluid Expression Language para buscar o valor do token criado no primeiro passo 'create'.
Na aba Propriedades informamos o nome do passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/_R-J2CPpX4HLudspL6GRf_image.png?format=webp)
Assim ficará a Parametrização nosso quarto e ultimo passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/PeqcUVr0oZrESqiy-EzGX_image.png?format=webp)
Utilizamos uma função do Fluid Expression Language para buscar o valor do token criado no primeiro passo 'create'.
Na aba Propriedades informamos o nome do passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/bFqUzp1M06tmHdwBg206d_image.png?format=webp)
Com os passos configurados, basta disparar o fluxo enviando o payload com o campo esperado no De/para do primeiro passo:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/h_JWyro0Gpy6LVJv_W-D9_image.png?format=webp)
Após o disparo, o resultado do fluxo será apresentado em tempo real no canvas:
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/7-D1gb8lT3Z2nGo3Vmga9_image.png?format=webp)
Detalhes passo create
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/rTu_erVTKrlFZsIg4eGnS_image.png?format=webp)
Detalhes passo decode-claims
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/3d-5Tb0L9H2YjhuRF6AJ3_image.png?format=webp)
Detalhes passo decode-header
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/lpQfRtCDpQZJIQC8kjDxA_image.png?format=webp)
Detalhes passo validate
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/R4OuIvM-dDhKxbymlKqHL_image.png?format=webp)
Verificando o token criado no jwt.io
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/YTXovrHANccImTM1hIZ_O_image.png?format=webp)