Tempo aproximado para leitura: 00:04:00 min
Dúvida
Como gerar o Bearer token de autorização e o utilizar na Fórmula Visual ?
Ambiente
Cross Segmentos - Backoffice RM - Integração - Todas as versões.
Solução
A fórmula visual usada neste exemplo, visa criar um fluxo de geração do Bearer Token e utilização do mesmo para autorizar em outra atividade do mesmo fluxo.
1 - Inclua no fluxo da Fórmula Visual a atividade de "Executar Requisição Rest" ou "Executar Requisição HTTP", neste exemplo vamos utilizar a Requisição REST.
Neste exemplo utilizaremos a própria geração de Bearer Token do RM, para posteriormente consumir uma API do sistema utilizando este token:
Endereço da Requisição: http://localhost:8051/api/connect/token/
Método da Requisição: POST
JSON Requisição:
{
"username": "mestre",
"password": "totvs"
}
Desta forma a autorização será realizada e o Bearer token será gerado corretamente, para o teste podemos colocar uma exceção deste retorno da atividade REST e executar a Fórmula Visual, para validar se foi gerado corretamente:
Visto que a geração do Token foi corretamente realizada, remova esta Exceção para prosseguir agora para a obtenção deste token e o utilizar no fluxo.
2 - Em seguida adicione ao fluxo de trabalho a atividade de "Transformar Registros em XML" e faça a vinculação desta atividade com o retorno do DataTable da Atividade de requisição REST:
Tabela: Activity=rmsRestRequestActivity1, Path=Tables[0].DataTable
Agora adicione ao fluxo de trabalho a atividade de "Expressão", nesta vamos realizar a recuperação do trecho do <access_token> (Bearer Token Gerado), utilizando a função de texto do StringBetween:
Segue exemplo da utilização da Expressão, com o StringBetween ao qual irá buscar o texto entre estas chaves declaradas:
StringBetween(rmsRegistroXmlActivity1.Xml,'<access_token>','</access_token>')
Desta forma, teremos nosso Bearer Token gerado, sendo retornado corretamente em nossa expressão para ser utilizado posteriormente em demais atividades.
Para exemplificar adicionaremos a Exceção e validaremos se o token foi corretamente gerado nesta atividade de expressão, sem demais trechos do XML:
Remova a atividade de exceção após a validação e prossiga com a criação do fluxo.
3 - Visto que já possuímos o Bearer Token sendo corretamente gerado na expressão, vamos adicionar uma nova atividade de "Executar Requisição REST" e nesta vamos realizar o consumo da API de Usuários, entretanto realizando a autorização com o Bearer Token gerado pela própria Fórmula Visual:
Endereço da Requisição: http://localhost:8051/api/framework/v1/users
Método da Requisição: Get
Tipo de autenticação: Token
Token: Activity=rmsExpressionActivity1, Path=ValueConverter.AsString
TokenSchema: Bearer
Assim, quando a segunda requisição Rest for realizada, ela irá buscar o Bearer Token da Expressão e realizar a correta validação de autorização da requisição.
Para exemplificar o funcionamento adicionaremos uma Exceção por final do fluxo da Fórmula Visual, validando assim se a API de Usuários será corretamente retornada nesta ultima requisição que busca o token da expressão para a autorizar:
Podemos concluir assim a criação de nossa fórmula visual que realizar a geração de um Bearer token e também faz o consumo do mesmo para autorizar uma nova requisição.
GIF Completo do processo:
Saiba Mais:
Para mais informações, segue documentações complementares abaixo:
Como são utilizados as Autenticações Basic e Bearer Token
Utilizando a atividade "Executar Requisição REST"
0 Comentários