Product_title | ||||
---|---|---|---|---|
|
Este guia explica como configurar seu ambiente para desenvolvimento usando a biblioteca @totvs/Mingle.
A biblioteca Mingle realiza a integração transparente com o servidor do Mingle que esta na nuvem, assim o desenvolvedor não precisa se preocupar com o servidor do Mingle.
O guia Getting Started inclui informações sobre:
Seguindo o passo a passo apresentado nos próximos tópicos o desenvolvedor terá um software integrado com a biblioteca Mingle e estará pronto para desenvolver uma aplicação de alta performance.
Expandir | ||||
---|---|---|---|---|
| ||||
Para começar a utilizar o a biblioteca @totvs/mingle em sua aplicação é necessário possuir:
|
Expandir | ||
---|---|---|
| ||
A biblioteca Mingle foi criada para facilitar a comunicação entre os aplicativos e o servidor Mingle. Com ela nós teremos a facilidade de realizar login com poucas linhas de código, recursos para geração de métricas, interceptadores de requests entre outros diversos métodos públicos que facilitarão o trabalho do programador. Instalação do pacote MinglePara começar a utilizar o Mingle o primeiro passo é fazer a instalação usando o npm: $ npm install --save @totvs/mingle Acompanhe as próximas páginas deste guia para iniciar o desenvolvimento utilizando o pacote instalado. |
Expandir | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
Neste passo vamos realizar a configuração da classe MingleService que deverá ser instanciada no início da sua aplicação para que possamos tirar proveito de todas as funcionalidades da biblioteca Mingle em seu aplicativo. Consideramos este passo o mais importante, aqui é onde iremos configurar uma única instância da classe MingleService e ela funcionará por toda a sua aplicação. Utilizando o comando $ "ng generate service appinitservice" do Angular CLI, criamos um serviço AppInitService e nele realizamos a seguinte implementaçãoseguinte implementação:
Agora vamos analisar os trechos mais importantes do código acima: Realize a importação da classe MingleService.
Deverão ser passados três parâmetros para a inicialização do Mingle (init): O primeiro parâmetro que deverá ser passado é o servidor. Existem três servidores, sendo eles:
Como neste exemplo ainda estamos desenvolvendo, vamos utilizar o ambiente "Mingle Development":
Para utilizar o ambiente Staging
Para utilizar o ambiente Production
O segundo parâmetro que deverá ser utilizado é o appId. Cada ambiente possui um appId por aplicativo, o appId deve ser solicitado para um membro da equipe do Mingle. O terceiro parâmetro deverá ser a plataforma utilizada.
Em seguida inicie o aplicativo utilizando o método init() da classe mingleService, informando os três parâmetros acima descritos:
Agora que você realizou a configuração Mingle e o método init() já está pronto, vamos dizer para o seu aplicativo utilizar a classe AppInitService quando for compilado e iniciado. Adicione o bloco de código abaixo em seu app.module.ts (pode ser logo após os imports ou então se for de sua preferência pode ser uma função importada de um arquivo externo).
No app.module.ts -> Providers: 1- Declare AppInitService e MingleService 2- Crie um provide para realizar o APP_INITIALIZER que será responsável por executar as configurações realizadas no tópico anterior 3- Realize a importação das classes declaradas em providers
Agora basta compilar a aplicação e acompanhar o terminal de logs. Para essa aplicação utilizamos o comando: $ "ng serve" Em caso de compilação e configuração positiva, sem erros, no console do seu navegador será apresentada a mensagem: "Mingle Service configuration completed". Acompanhe os próximos tópicos desta documentação para começar a desenvolver a aplicação utilizando o Mingle, como por exemplo realizar uma autenticação ou uma requisição de API utilizando a segurança que o gateway do Mingle proporciona.
|
Expandir | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
Agora que você já conhece o pacote Mingle e sua configuração inicial já está funcionando, vamos utilizar o MingleService para realizar a autenticação do usuário ao backend do cliente ( Protheus, Datasul, Logix, Smart). Pré requisitos:
Considere o arquivo: login.component.ts Importe a classe MingleService
Na função login(), utilizamos o método mingleService.auth.login(usuário, senha, alias).
Observe que os valores "login" e "password" geralmente são preenchidos pelo usuário do aplicativo através de uma página de autenticação. Após executar o Login no aplicativo, o retorno de sucesso será parecido com este:
A chave access_token é armazenada no storage do navegador pelo mingleService para ser utilizada em outras etapas do aplicativo que requerem comprovação de autenticação, como por exemplo uma chamada de gateway. O access_token tem um prazo de validade de acordo com cada ambiente e requer uma nova autenticação quando expirar. Quando se utiliza um access_token expirado, o Mingle retornará para o aplicativo o status 401 do protocolo HTTP. O desenvolvedor pode seguir dois caminhos para obter um novo access_token: 1- Solicitar ao usuário do aplicativo um novo login. 2- Utilizar a chave refresh_token obtida no login inicial e realizar uma autenticação transparente para o usuário, sem que ele tenha que realizar login novamente. Refresh TokenPara obter os dados de autenticação atualizados, você pode utilizar o serviço Refresh Token do Mingle. Considere o código de exemplo abaixo:
O MingleService prepara o body que deve ser enviado para o serviço Refresh Token através do método mingleService.getBodyToRefreshTokenAPI(); Logo após obter o body que deve ser enviado para o Mingle, obtenha a URL do serviço através do método mingleService.getRefreshTokenURL(); E para obter os novos dados de autenticação, realize um POST com os parâmetros encontrados anteriormente. LOGOUTPara realizar o logout utilize o nosso método mingleService.auth.logout();
|