Como adicionar token automático na variável de ambiente usando Insomnia

Como usar Chaining Requests do Insomnia para obter respostas de outras requisições

Chegou a vez da dica de como adicionar token automático na variável de ambiente usando Insomnia. Além da simplicidade (e robustez) da ferramenta, por ser open source tem o seu charme.

Depois de passar todo o bootcamp GoStack da Rocketseat "sofrendo" com o "copiar o token gerado na requisição de login e colar na variável de ambiente", recentemente, vendo como seria fácil me livrar dessa repetição cansativa no postman, resolvi pesquisar um pouco mais como fazer isso usando o próprio Insomnia. Para minha grata surpresa, é possível contornar essa massante tarefa de forma extremamente simples.

Inclusive, Diego e a equipe da Rocketseat lançou um vídeo masterizando a ferramenta, o que me deu inspiração para resolver o "meu problema". Entre a ajuda de um amigo programador (Eduardo Jr.) e a própria documentação da ferramenta, ficou fácil aplicar a funcionalidade.

Como colocar o token na variável de ambiente de forma automática

A ideia principal: em vez de passar o valor do token manualmente nas minhas variáveis de ambiente, preciso buscar esse token a partir da resposta de uma outra requisição - (no caso, na requisição de logar).

Abrindo as minhas variáveis de ambiente, na propriedade que eu quero obter o dado, dou um Ctrl + barra de espaço entre aspas duplas. Vai abrir um leque de opções. Seleciono: "Response -> Body Attribute".

Configurando variáveis de ambiente no Insomnia

Após selecionar essa opção, vai ficar como uma tag vermelha, não tem problema. Clica nessa tag e um formulário será aberto. Os campos são: Function to Perform, Attribute, Request, Filter (JSONPath or XPath), Trigger Behavior e Live Preview.

Ao selecionar Response Body Attribute

Depois de definir qual a requisição vai retornar os resultados que precisa, no meu caso, [Sessions] Post Create (login), no campo Filter virá os dados de resposta. Colocando apenas $ vai mostrar todos os dados que obtivemos da resposta. Para pegar apenas o token, no meu caso, basta $.token.

Em Trigger Behavior diz quando a resposta vai ser reenviada, no meu caso, sempre que necessário.

Em Live Preview você observa como os dados estão chegando. Útil para ver qual a propriedade que precisamos para filtrar. Basta deixar apenas o $.

Editando a tag Response Body Attribute

Pronto! Agora nas minhas requisições, posso colocar a variável de ambiente token e sempre que eu fizer login, o token vai ser aplicado automaticamente. Isso evita que eu precise copiar o token depois de fazer o login, ir nas variáveis de ambiente e substituir o token antigo pelo novo.

Gerando token após autenticação do usuário

Adicionando a variável de ambiente nas requisições

Dependendo dos testes que está fazendo, trocando de usuário, logando e deslogando... vai ganhar um tempão (além de não se estressar com um trabalho repetitivo, massante...).

See you soon!

Outras postagens interessantes:

Comentários