Árvore de páginas

Versões comparadas

Chave

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

Agora que você já conhece o pacote Mingle e sua configuração inicial já está funcionando, vamos utilizar o Mingle para realizar a autenticação do usuário ao host do cliente ( Protheus, Datasul, Logix, Smart).

Pré requisitos: 

  • Usuário e senha de autenticação do host 
  • ALIAS

Considere o arquivo: login.component.ts

Importe a classe MingleService


Bloco de código
languagejs
firstline1
linenumberstrue
import { MingleService } from '@totvs/mingle';


Na sua função de login, utilize o método mingleService.auth.login(usuário, senha, alias)

Lembrando que os dados de autenticação, usuário e senha, serão enviados para a autenticação do seu host (Protheus, Logix, Datasul, etc...)


Bloco de código
languagejs
firstline1
titlelogin.component.ts
linenumberstrue
export class LoginComponent implements OnInit {

 constructor(private mingleService: MingleService,
   private configService: ConfigService,
   private route: Router,
   private poNotification: PoNotificationService) { }
 
 ngOnInit(): void {}
 
 login(formulario) {
   this.mingleService.auth.login(formulario.login,
     formulario.password,
     this.configService.getAlias())
     .subscribe((dataLogin) => {
       console.log("Login com sucesso - dados do login", dataLogin);
      
       this.route.navigate(['home']);
     }, (authError) => {
       console.log(authError);
       console.error('Falha na autenticação');
     });}}


No caso deste tutorial o valor do parâmetro Alias foi obtido através de um método "getAlias" que criamos no aplicativo de demonstração, mas o parâmetro pode ser passado como string.


Após executar o Login no aplicativo, o retorno de sucesso será parecido com este: 


Bloco de código
languagejs
firstline1
titleJson Login ok
linenumberstrue
{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9Mug",
"muser":{"_id":"5ffda7bdaacb0685f34d59e2","login":"exemplo"},
"set":{"_id":"5fbe5712d8ccbf002cf443f3","alias":"TOTVS"},
"params_values":[{"_id":"5fbe5712d8ccbf002cf443f2","key":"EMPRESA","value":"123"}],
"client":{"_id":"5eeb67edeb62740029b1f03f","name":"TOTVS_TDN"},
"wso2":{},
"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNWZmZGE3YmRhYWNiMDY4NWYzNGQ1OWUyIiwic2V0X2lkIjoiNWZiZTU3MTJkOGNjYmYwMDJjZjQ0M2YzIiwiY2xpZW50X2lkIjoiNWVlYjY3ZWRlYjYyNzQwMDI5YjFmMDNmIiwiYXBwX2lkIjoiNWZiMmFlMmE1NzVhZTgwMDRhN2QxZmY1Iiwib3JpZ2luIjoibW9iaWxlIiwidXR5cGUiOiJQcm94eVVzZXIiLCJ0dHlwZSI6InIiLCJpYXQiOjE2MTA0NTkwNjksImV4cCI6MTYxMDU1OTA2OSwiYXVkIjoibWluZ2xlIiwiaXNzIjoid2VidGVzdGluZzogTGludXggeDg2XzY0In0.CO9WF84Z3LmpauISeEPyDxVn4BA3jiWlRtVo68_7av8","
auth_driver":"protheus"}


LOGOUT

Para realizar o logout utilize o nosso método mingleService.auth.logout();




Bloco de código
languagejs
firstline1
titleLogout
linenumberstrue
this.mingleService.auth.logout().subscribe(() => {
     console.log("Usuário deslogado");
     this.route.navigate(['login']);
})