Gerar JWT
A tarefa Gerar JWT permite criar tokens JWT configurando vários parâmetros necessários para a geração do token.
Definição de JWT
Um JSON Web Token (JWT) é um padrão aberto (RFC 7519) que define uma forma compacta e autossuficiente de transmitir informações entre partes como um objeto JSON. Estas informações podem ser verificadas e confiáveis porque são assinadas digitalmente. Os JWTs podem ser assinados usando um segredo (com o algoritmo HMAC) ou um par de chaves pública/privada usando RSA ou ECDSA.
Propósito do JWT
Os JWTs são comumente usados para autenticação e autorização. Quando um utilizador faz login, é gerado um token que pode ser usado para autenticar solicitações subsequentes sem ter de enviar novamente as credenciais do utilizador.
Configuração
1. Assinatura (Signing)
- Algoritmo: Selecione o algoritmo de assinatura a ser utilizado, por exemplo RS256.
- Chave privada (Private key): Chave privada necessária para a assinatura do token. Pode ser inserida manualmente ou através de parâmetro.
2. Cabeçalhos (Headers)
- Seção onde adicionar os pares chave-valor necessários para o cabeçalho.
3. Reivindicações (Claims)
- Seção onde adicionar os pares chave-valor relativos às reivindicações necessárias
Cada campo na seção Headers e Claims pode ser preenchido manualmente ou através de parâmetros e variáveis do fluxo de trabalho.
Esta configuração permite definir os detalhes necessários para gerar um JSON Web Token (JWT).
Algoritmos simétricos (HSxxx)
Os algoritmos HS (HMAC com SHA) utilizam uma chave simétrica, ou seja, a mesma chave serve tanto para assinar como para verificar o token.
- HS256 (HMAC + SHA-256)
- Usa o algoritmo de hash SHA-256 combinado com HMAC.
- Segurança equilibrada: considerado hoje muito seguro se a chave for suficientemente longa e aleatória.
- Uso comum para aplicações internas onde quem assina e quem verifica coincidem.
- HS384 (HMAC + SHA-384)
- Variante com SHA-384, produz assinaturas mais longas.
- Oferece maior resistência a colisões em comparação com SHA-256.
- HS512 (HMAC + SHA-512)
- Variante com SHA-512, ainda mais robusta e com saída de 512 bits.
- Adequado em contextos de alta segurança ou onde a chave pode circular de forma menos protegida.
Nota: Por serem simétricos, exigem que todos os participantes conheçam a mesma chave secreta. Isto pode ser um risco se houver vários sistemas que precisam validar o token.
Algoritmos assimétricos (RSxxx)
Os algoritmos RS (RSA Signature com SHA) utilizam uma chave assimétrica:
- Uma chave privada assina o token.
- Uma chave pública valida o token.
Isto é útil quando se pretende distribuir os tokens em ambientes onde apenas o gerador deve possuir a chave privada.
- RS256 (RSA + SHA-256)
- Algoritmo mais difundido para JWT em contextos empresariais.
- Seguro, com boa eficiência.
- RS384 (RSA + SHA-384)
- Variante que usa SHA-384 para maior resistência criptográfica.
- RS512 (RSA + SHA-512)
- Variante mais robusta, com SHA-512.
- Oferece a máxima resistência a ataques, mas com um custo computacional maior.
Nota: Por serem assimétricos, são mais adequados a cenários distribuídos: o servidor que emite os tokens conserva a private key, enquanto os clientes ou microsserviços obtêm apenas a public key para verificar a sua validade.
Parâmetro de Saída
Ao completar a execução, a tarefa disponibiliza os seguintes Parâmetros de Saída, utilizáveis como entrada em tarefas subsequentes do Workflow.
- result: Este parâmetro pode retornar uma mensagem de erro ou o resultado da execução da Tarefa (o Token gerado). Este valor pode ser usado como entrada em Tarefas subsequentes (ex: "
>#nome_del_task.result<#") - resultJson: representa o resultado da execução da tarefa em formato JSON, incluindo informações gerais, configurações e detalhes da execução.