Skip to main content

Tokens

As requisições para as APIs do Flowbuild são utilizam autenticação via Bearer authentication (ou token authentication). Todas as requisições devem conter um header de autorização contendo um token JWT.

O conteúdo do token será utilizado também para lidar com a autorização a tarefas e workflows.

Payload#

O token utilizado para autenticação deverá conter, ao menos, os campos: actor_id: utilizado como identificador único do usuário claims: uma lista de direitos do detentor do token, geralmente em forma de "strings".

Exemplo:

{
"actor_id": "85b579e0-dc41-11eb-a6b3-d3619c91018b",
"claims": ["oneClaim","anotherClaim"],
"iat": 1625345953,
"exp": 1625349553
}

Validação do Token#

A validação do token é feita através de um middleware na aplicação que verifica a assinatura do token, sua expiração e os requisitos mínimos do payload.

A chave de assinatura do token pode ser alterada através do .env da aplicação (ou .env.docker se estiver executando a aplicação via docker):

JWT_KEY=newsecret

Se o token for validado, os campos actor_id e claims, contidos no payload do token são passados para o processo na forma de actor_data.

Em adição aos campos acima descritos, são adicionados ao actor_data as informações de trace.

Geração de Token#

A API do flowbuild contém uma rota específica para geração de tokens. É possível gerar um token por fora da aplicação, utilizando ferramentas como jwt.io, nesse caso, garanta que esteja utilizando a mesma assinatura configurada no middleware de validação de token.