Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Projetos Cronapp de Microsserviços oferecem uma abordagem simplificada para a criação de projetos, permitindo aos usuários desenvolver os serviços necessários para suas aplicações com autonomia. Esses projetos não possuem interfaces clientes, por isso não apresentam recursos de autenticação próprios. Ao disponibilizar em um projeto de microsserviços recursos privados, ou seja, que necessitam de autenticação dos usuários, é preciso integrar-se com outras aplicações para lidar com a autenticação, como exemplificado na imagem abaixo.


Figura 1 - Fluxo de integração entre projetos

Pré-requisitos

Antes de começar a seguir os passos do tutorial é preciso ter certeza de que se tem um ambiente minimamente preparado para reproduzir o exemplo. Abaixo estão os principais requisitos de que se precisa entendimento.

  1. Criar projeto do tipo web e mobile. Caso haja dúvidas de como criar esse tipo de projeto, acesse a documentação Criar projeto.
  2. Criar projeto do tipo microsserviços. Caso haja dúvidas de como criar esse tipo de projeto, acesse a documentação Projeto de Microsserviços.
  3. Criar blocos de programação. Caso haja dúvidas, acesse a documentação Bloco de programação.
  4. Criar fonte de dados. Caso haja dúvidas, acesse a documentação Fonte de Dados.

Passos

Neste tutorial, apresentaremos como integrar projetos Cronapp para disponibilizar requisições autenticadas em projetos de microsserviços. Para isso, vamos utilizar três projetos Cronapp: dois projetos do tipo web e mobile serão utilizados para autenticação e consumo dos serviços, enquanto o terceiro será do tipo microsserviços e disponibilizará os serviços privados. Os tópicos a seguir detalham as configurações necessárias em cada projeto.

Projeto para autenticação

O projeto utilizado para autenticação, do tipo web e mobile, será responsável por gerenciar a autenticação dos usuários que desejam acessar os serviços disponibilizados pelo projeto de microsserviços. Para fazer a integração desses dois projetos, será preciso copiar o Token (destaque 1 da Figura 2), localizado na subaba "Autenticação e Segurança" nas Configurações do projeto, e adicioná-lo no mesmo campo Token nas Configurações do projeto de microsserviços. Dessa forma, os usuários autenticados no projeto de autenticação também poderão acessar os recursos do projeto de microsserviços de acordo com suas permissões de segurança.


Image Added

Figura 2 - Janela de Configurações do Projeto


Após finalizar a criação, execute o projeto, faça login na aplicação e copie o token do usuário logado. Esse token será utilizado para a autenticação do acesso aos recursos dos projetos de microsserviços. Para visualizá-lo, acesse a ferramenta de desenvolvedor do navegador, na aba Application (destaque 1 da Figura 2.

1) clique em Cookies (2) e, por fim, em AuthToken (3).


Image AddedImage Removed

Figura 2.1 - Janela de Configurações Token do Projetousuário

Projeto de Microsserviços

O projeto de microsserviços será responsável por disponibilizar os serviços que serão consumidos pelo cliente. Como informado anteriormente, esse projeto deverá receber o token do projeto de autenticação (Figura 2) nas Configurações do projeto. Além disso, é fundamental que os permissionáveis do projeto sejam os mesmos definidos no projeto de autenticação. Para visualizar os permissionáveis, acesse o arquivo authorities.json (Endereço: src/main/java/META-INF/authorities.json). Para mais informações de configuração desse arquivo, consulte a documentação Arquivo populate json.

Bloco de programação

Um dos serviços disponibilizados por esse projeto será por meio de uma função de bloco de programação, conforme mostrado na imagem abaixo. Para acessar as configurações do bloco, clique no ícone de engrenagem (destaque 1 da Figura 2.1) do editor de blockly. Na janela exibida, no campo "Segurança", certifique-se de que todas as opções estão configuradas como "Autenticado", garantindo que somente usuários autenticados tenham acesso a este serviço. Ainda na janela de configuração, no campo "Endereço REST", ao lado do endpoint da função que pode ser utilizado para requisições externas, selecione o verbo HTTP GET. Para mais informações de configuração, acesse o tópico "Propriedades do Blockly" da documentação Bloco de programação

Âncora
figura2.1
figura2.1


Figura 2.1 - Função de bloco de programação do projeto de microsserviços

Fonte de dados

Outro serviço disponibilizado será por meio da fonte de dados da imagem a seguir. Para este exemplo, foi criada uma classe "Pessoa" no Diagrama de dados e gerada a camada de persistência e, a partir deladessa classe, a Fonte de dados "Registro". Em seguida, na aba Ações (destaque 1 da Figura 2.2), no campo "Segurança", selecionamos o permissionável "Autenticado" para todas as ações, garantindo que apenas usuários autenticados tenham permissão para acessar esse recurso. Além disso, habilitamos a opção "Swagger/Open API" (2). O endpoint (3) da fonte de dados, assim como no bloco de programação, pode ser utilizado em requisições externas. Para mais informações de configuração, acesse o tópico "Como configurar" da documentação do Swagger.


Figura 2.2 - Fonte de dados do projeto de microsserviços


Por fim, após as configurações, execute o projeto como "Arquivo OpenAPI", o link da página exibida será utilizado nos próximos passos do tutorial.

Projeto Cliente

Este projeto do tipo web e mobile será utilizado para consumir os serviços REST disponibilizados pelo projeto de microsserviços. Neste tutorial, utilizaremos a funcionalidade Importar OpenAPI/Swagger para importar os recursos criados anteriormente no projeto de microsserviços. Consulte a documentação correspondente para mais detalhes de importação. No entanto, é importante destacar que os serviços também podem ser consumidos de outras formas, utilizando os endpoints configurados.

Após importar os recursos, foi criado o bloco de programação da imagem abaixo. Para mais informações de configuração, consulte o tópico "Blocos de programação" da documentação Importar OpenAPI/Swagger. Além disso, foi criada uma view para executar a função do bloco.


Figura 2.3 - Bloco de programação configurado utilizando os blocos importados do projeto de microsserviços


Em seguida, criamos uma fonte de dados a partir da fonte importada do projeto de microsserviços. Visto que o recurso está disponível para acesso apenas de usuários autenticados, na aba "Cabeçalhos" da fonte de dados criada, adicionamos o cabeçalho X-AUTH-TOKEN (destaque 1 da Figura 2.4) e passamos o token do usuário obtido no projeto de autenticação. Além disso, no na aba "Campos" (2), no campo id, após a caixa de seleção "Expressão", selecionamos a expressão "guid". Após isso criamos um formulário CRUD para CRUD para visualizar os dados. Para mais informações de configuração, consulte o tópico "Fonte de dados" da documentação Importar OpenAPI/Swagger.


Figura 2.4 - Fonte de dados configurada no projeto cliente

Executando o projeto

Após concluir as configurações, execute o projeto cliente. A Figura 2.5 apresenta a execução da função do bloco de programação da Figura 2.3. Na parte superior da imagem, é mostrada a execução da função utilizando um token de um usuário não autorizado. Já na parte inferior, é apresentada a execução com um usuário autenticado. Observe que a mensagem exibida é a mesma do retorno da função do projeto de microsserviços (Figura 2.1).


Figura 2.5 - Execução da função do bloco de programação da Figura 2.3


Na Figura 2.6, é exibido o formulário gerado a partir da fonte de dados mostrada na Figura 2.4. Neste formulário, é possível visualizar os dados resultantes da configuração realizada.


Figura 2.6 - Visualização dos registros da Fonte de dados


Nesta página

Índice