Versão atual:

FwcallApp não autentica usuário com protheus lib core

Estou utilizando uma função FwCallApp('teste'). No projeto angular, já tenho importado o componente protheus-lib-core. Tanto que o utilizo para fechar a tela, utilizando o .callAppClose(), e funciona certinho. Mas depois de ativar o Security=1 no appsever.ini, passou a aparecer a mensagem:

The request requires authentication. The server might return this response for a page behind a login.

Entendo que importanto o protheus-lib-core, já deveria considerar o usuário logado do protheus, passando o token no cabeçalho da requisição.

Pergunta: eu preciso fazer algo a mais, além de importar o protheus-lib-core, declarar no app.module ?

Onde dá a mensagem do erro, é quando tento fazer uma requisição GET

Segue o app.component.ts

import { Component } from '@angular/core';

import { PoMenuItem } from '@po-ui/ng-components';

import { ProAppConfigService } from '@totvs/protheus-lib-core';


@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  readonly menus: Array<PoMenuItem> = [
    { label: 'Painel', link: '/', icon: 'po-icon-home', shortLabel: 'Painel' },
    { label: 'Tarefas', shortLabel: 'Tarefas', icon: 'po-icon-table', subItems: [
      {label: 'Lembretes', shortLabel: 'Lembretes', link: 'table/service', icon: 'po-icon-star-filled'}
      ]
    },
    {label: 'Sair', action: this.closeApp.bind(this), icon: 'po-icon-exit', shortLabel: 'Sair'}
    //{label: 'Sair', action: this.closeApp.bind(this)}
  ];

  constructor(private proAppConfigService: ProAppConfigService) {
    /*if (!this.proAppConfigService.insideProtheus()) {
      this.proAppConfigService.loadAppConfig();
    }*/
    this.proAppConfigService.loadAppConfig();
  }

  private closeApp() {
    if (this.proAppConfigService.insideProtheus()) {
      this.proAppConfigService.callAppClose();
    } else {
      alert('O App não está sendo executado dentro do Protheus.');
    }
  }

}

home.component.ts:

import { HttpClient } from '@angular/common/http';
import { Component, Input, OnInit } from '@angular/core';


@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styles: [
  ]
})

export class HomeComponent implements OnInit {


  @Input()
  pendentes = '';
  aprovados = '';

  constructor(private http: HttpClient) {

  }

  ngOnInit(): void {
   this.retornaTotalLembretes();
    console.log(this.pendentes);
  }

  retornaTotalLembretes() {

    return this.http.get<any>('http://192.168.101.244:10099/api/ibar/wslembrete/count')
    .subscribe(resultado => {
      const var1 = JSON.stringify(resultado);
      const obj = JSON.parse(var1);
      this.pendentes = (obj.items[0].pendentes);
      this.aprovados = (obj.items[0].aprovados);
  });
  }




}

Versões (3):

Ver a versão formatada

não autentica usuário

Comentário

new question