Conectores
Segurança e Autenticação

Json Web Token - JWT

10min

Objetivo/Resumo

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

Criando um fluxo utilizando Conector JWT

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.

Na prática

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


1º- Passo: create

Assim ficará a Parametrização do nosso primeiro passo:

Document image


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


Na aba Propriedades informamos o nome do passo:

Document image


2º- Passo: decode-claims

Assim ficará a Parametrização nosso segundo passo:

Document image


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


3ºPasso: decode-header

Assim ficará a Parametrização nosso terceiro passo:

Document image


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


4º - Passo: validate

Assim ficará a Parametrização nosso quarto e ultimo passo:

Document image


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


Disparando o Fluxo

Com os passos configurados, basta disparar o fluxo enviando o payload com o campo esperado no De/para do primeiro passo:

Document image


Após o disparo, o resultado do fluxo será apresentado em tempo real no canvas:

Document image


Detalhes passo create

Document image


Detalhes passo decode-claims

Document image


Detalhes passo decode-header

Document image


Detalhes passo validate

Document image


Verificando o token criado no jwt.io

Document image