Digibee JWT (Generate and Decode)
Sabia como utilizar o Digibee JWT para gerar e decodificar tokens JWT.
O Digibee JWT (Generate and Decode) gera e decodifica tokens JWT para uso interno na Digibee Integration Platform.
Em outras palavras, o token gerado por esse componente serve para as comunicações que ocorrem entre pipelines configurados com o REST Trigger ou HTTP Trigger e seus derivados - desde que as autenticações do tipo JWT sejam configuradas.
Parâmetros
Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Operation | Operação que determina entre gerar (Generate) ou decodificar (Decode) um token JWT. | Generate | String |
Scopes | escopos para o token JWT separados por vírgula (ex.: SCOPE1,SCOPE2,...,...). | N/A | String |
Expiration | tempo de expiração (em milissegundos). A expiração máxima é de 365 dias (31536000000 milissegundos). | N/A | Inteiro |
Fail On Error | se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução continua. | False | Booleano |
Fluxo de mensagens
Operação Generate
Entrada
O componente pode receber qualquer objeto na entrada e irá repassar o body completo para geração do token. Você pode passar os Scopes e/ou Expiration dinamicamente via Double Braces junto com qualquer parâmetro adicional dentro da mensagem de entrada.
Saída
A propriedade Authorization será colocada com o token no header de resposta gerado pelas especificações acima.
Exemplo
Authorization: Bearer eyW4T.....
Operação Decode
Para essa operação, o componente não espera nenhuma estrutura mensagem de entrada, mas apenas um token JWT no header de solicitação durante a execução.
Header
Authorization: Bearer eyW4T.....
Entrada
Saída
Erro
Importante: para alguns erros, body e headers estão indisponíveis.
Digibee JWT (Generate and Decode) em ação
Esse componente precisa da implementação do pipeline para funcionar corretamente. Consulte o artigo Implementação do Digibee JWT (Generate and Decode) para entender melhor o seu uso e aplicação.
Tecnologia
Para entender melhor como o token JWT é gerado a partir desse componente, veja o exemplo a seguir.
Para todo JWT é necessário informar os headers, pois eles contêm toda a informação do algoritmo a ser utilizado na criptografia do token. Portanto, os headers padrão do token gerado são:
O token JWT também é composto de um payload, que inclui toda a informação que trafega no token. Isso é informado na entrada do componente:
O UUID é gerado aleatoriamente junto com a criação do token, o qual precisa ser assinado. Veja como identificar o UUID:
Ao final da execução, o token será gerado dentro do header Authorization:
Posicionamento e entrada de dados do JWT
A ordem onde o Digibee JWT (Generate and Decode) é inserido no pipeline também influencia a operação e determina quais dados serão inseridos no token JWT. Isso ocorre pois o componente adiciona ao token qualquer conteúdo que esteja em um step anterior (incluindo os dados recebidos na entrada do pipeline).
É importante considerar esse comportamento. Portanto, o Digibee JWT (Generate and Decode) não deve ser colocado como primeiro componente em um pipeline. Componentes como JSON Transformer, Transformer (JOLT) e JSON Generator devem ser utilizados antes do JWT para determinar uma entrada de dados apropriada.
O exemplo abaixo indica uma entrada de dados recomendável no JWT:
Atualizado