You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
The text was updated successfully, but these errors were encountered: