Bom dia,
Estou tentando efetuar a integração com os envelopes da Docusign, porem não estou conseguindo gerar o token para fazer a autenticação, criando assertion pela pagina JWT.io funciona e gera o token normalmente, porem levando para o ADVPL o header e payload ficam corretos, mais a assinatura fica totalmente diferente do gerado pela pagina, retornando a seguinte mensagem
"{"error":"invalid_grant","error_description":"no_valid_keys_or_signatures"}"
Código utilizado
_jwtPl["iss"] := _appId
_jwtPl["sub"] := _userI
_jwtPl["iat"] := _nCria
_jwtPl["exp"] := _nExpi
_jwtPl["aud"] := 'account-d.docusign.com'
_jwtPl["scope"] := 'signature'
cjwtPl := _jwtPl:ToJSON()
cjwtPl := STRTRAN(STRTRAN(STRTRAN(Encode64(cjwtPl), '+', '-'), '/', '_'),'=','')
casss := STRTRAN(STRTRAN(STRTRAN(Encode64(EVPPrivSign(_prvKey, (_jwtHe+'.'+cjwtPl), 5, "", @cErro)), '+', '-'), '/', '_'),'=','')//Encode64(EVPPrivSign( _prvKey, cAssinar, 5, "",@cErro ))
cJsonAutJwt := _jwtHe +"."+ cjwtPl +"."+ cAsss
cJsonAutJwt := StrTran( cJsonAutJwt, "==", "" )
oRestclient := FWRest():New('https://account-d.docusign.com')
oRestClient:setPath('/oauth/token')
aadd(aHeader,'Content-Type: application/x-www-form-urlencoded')
oRestClient:setPostParams('grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=' + (cJsonAutJwt))
O que posso fazer para gerar corretamente o assertion do bloco de assinatura?
Grato, Erich Buttner