Marcos_Muller Postado 15 Abril Postado 15 Abril Boa tarde, tive que fazer um ajuste para poder usar a API do CRESOL na parte de gerar o token, tinha um IF legendado que estava causando um acessviolation, voltando com esse if resolveu e gerou o boleto na função function TOAuth.GerarToken: Boolean; esse if ( if Assigned(FACBrBoleto.OnDepoisAutenticar) then) atualizado pelo svn esta legendado function TOAuth.GerarToken: Boolean; var LToken : String; LExpire : TDateTime; function TokenValido: Boolean; begin Result := (FToken <> '') and (FExpire > Now); end; begin Result := False; try CarregaCertificados; // Antes de autenticar if Assigned(FACBrBoleto.OnAntesAutenticar) then begin FACBrBoleto.OnAntesAutenticar(LToken, LExpire); FToken := LToken; FExpire := LExpire; end; // Forçar novo token if FForceNewToken then begin FToken := ''; FExpire := 0; end; // Verificar se precisa autenticar if Assigned(FACBrBoleto.OnPrecisaAutenticar) and not TokenValido and not FForceNewToken then begin FACBrBoleto.OnPrecisaAutenticar(LToken, LExpire); FToken := LToken; FExpire := LExpire; end; // Se já possui token válido, só retorna sucesso if TokenValido then Result := True else if (not Assigned(FACBrBoleto.OnPrecisaAutenticar)) or FForceNewToken then begin // Converte ClientID/Secret para Basic Auth em Base64 Result := Executar('Basic ' + String(EncodeBase64(AnsiString(ClientID + ':' + ClientSecret)))); end; if Assigned(FACBrBoleto.OnDepoisAutenticar) then FACBrBoleto.OnDepoisAutenticar(FToken, FExpire); finally FForceNewToken := False; end; end;
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora