Skip to content

Erro com Envio Boleto/Autenticação de múltiplas contas #7

@Laranjeiras

Description

@Laranjeiras

Em meu sistema utilizo envio de Boletos de diversas contas e quando isso acontece o SDK continua a usar o Token (devido ser static) com dados da primeira conta enviada.
Por exemplo, vamos supor que eu precise criar 2 boletos e meu usuário ao lado dos boletos ele tem a opção de selecionar a "conta de cobrança" de cada boleto. Quando envio o primeiro boleto ele faz a autenticação e salva o token com o clientId e clienteSecret do primeiro boleto. A enviar o segundo boleto, o Gerencianet.SDK verificar se o token(nesse caso com dados do primeiro boleto) está nulo (Endpoint.cs, linha 57), se não tiver nulo ele usa o Token(com dados do primeiro boleto).

Ou seja, independente do clientId e clienteSecret passados no construtor do Endpoint.cs, ele sempre vai usar os dados da primeira autenticação. Ele faz a transmissão porem a conta que ele recebe é diferente da desejada.

Possível solução: criar um objeto "TokenValueObject" que sera composto do Token, ClientId e ClientSecret, e ao invés de armazenar somente o token, armazenar dados do client do token, salvar esse TokenValueObject e a cada requisiçaõ de autenticação comparar alem do token os dados do Client entre o token e os dados passado no construtor do Endpoint.cs.

Caso seja necessário posso efetuar a alteração e enviar um PR para analise.

Alexandre Laranjeiras
laranja22@hotmail.com

Gerencianet_Anotação 2020-04-08 221146

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions