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.
— charlesreitz 18 de Dec de 2018Olá, Matheus! Você teria a documentação da função FwJWT2Bear? Quais são os parâmetros ou qual dos parâmetros corresponde ao secret?
— Suzanna Paizan 20 de Aug de 2019A 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.
— Anderson Maciel 16 de Oct de 2019Bom 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: http://tdn.totvs.com.br/pages/viewpage.action?pageId=465386127
— Daniel Mendes 22 de Aug de 2019