Pessoa, alguém tem algum exemplo de autenticação do Protheus com JWT + Protheus (REST) + THF?
:)
Pessoa, alguém tem algum exemplo de autenticação do Protheus com JWT + Protheus (REST) + THF?
:)
Boa tarde @charlesreitz
temos o app MEURH
que utiliza autenticação JWT REST Protheus.
basicamente no seu rest de auth/login você deve utilizar o método FWJWT2BEAR
do frame ADVPL para gerar um TOKEN JWT com suas informações:
cToken := FwJWT2Bear(cUserID,{"payments/","payment/","data/","team/", "request/", "timesheet/", "/team/", "setting/"},Date(),Seconds() + 3600,Nil,Nil,{ {"key",cKey} })
após isso, setar no header o token:
::SetHeader('Set-Authorization', 'Bearer ' + cToken)
e via front fazer um interceptor para pegar esse JWT e colocar no header de toda requisição:
intercept( request: HttpRequest<any>, next: HttpHandler ): Observable<HttpEvent<any>> {
request = request.clone({
setHeaders: {
Authorization: 'Bearer ' + this.authService.getToken(),
'X-Totvs-No-Error': 'true'
}
});
return next.handle(request).catch(x => this.handleAuthError(x));
}
tenho um post no medium sobre interceptor caso ajude: https://medium.com/matheus-bizutti/introdu%C3%A7%C3%A3o-ao-angular-httpinterceptor-1b06a95a0089
E se quiser saber melhor pode me chamar no ryver Matheus Bizutti
Abraços.
Obrigado Matheus, eu consegui fazer usando o BASIC, mas pretendo implementar com JWT.
Olá, Matheus! Você teria a documentação da função FwJWT2Bear? Quais são os parâmetros ou qual dos parâmetros corresponde ao secret?
A TOTVS colocou uma proteção na chamada da função FwJWT2Bear. Ao invés de ajudar os desenvolvedores disponibilizando uma função útil como essa para todos, fazem este tipo de tratamento fazendo com que a linguagem advpl/tl++ fique continuadamente ultrapassada e carente de recursos.
Bom dia.
Como eu faço do lado Protheus para avaliar o Token recebido no meu WS?
Bom dia Helitom, no momento temos a seguinte documentação em relação ao token: 08. Autenticação baseada em token - Frameworksp - TDN