A cada interação com a API BB é feito uma autenticação Oauth resgatando um token.
Mesmo que sejam feitas duas consultas sequenciais são feitas duas autenticações. Uma para cada consulta.
O ideal é ter uma persistência local (threading) para armazenar o token de autenticação. Dessa forma, cada wrapper conseguiria controlar quando é necessário solicitar uma nova autenticação ou quando utilizar uma já armazenada.
Detalhes técnicos
Token
O Token do BB tem uma duração de 10 minutos.
Utilizar um token expirado na API deve retornar um erro 401 ou 403 de falha de autenticação.
Permissões do token para API's diferentes
Cada token possui as permissões atribuídas a ele. Cada API do BB possui permissões diferentes.
Então por exemplo, para consultar tanto a API de Pagamentos em Lote e API de Cobranças ainda será necessário solicitar dois tokens diferentes. Já que não é possível solicitar um token universal que sirva para TODAS as API's.
Por causa disso, CADA wrapper de cada API deverá fazer o controle do seu token e o comportamento de todos os wrappers perante a isso deve ser igual!
Tarefas
[x] implementação do controle de token no BaseBBWrapper
[x] implementação do controle no CobrancasBBWrapper
[x] implementação do controle no PagamentoLoteBBWrapper
Resumo
A cada interação com a API BB é feito uma autenticação Oauth resgatando um token.
Mesmo que sejam feitas duas consultas sequenciais são feitas duas autenticações. Uma para cada consulta.
O ideal é ter uma persistência local (threading) para armazenar o token de autenticação. Dessa forma, cada wrapper conseguiria controlar quando é necessário solicitar uma nova autenticação ou quando utilizar uma já armazenada.
Detalhes técnicos
Token
O Token do BB tem uma duração de 10 minutos.
Utilizar um token expirado na API deve retornar um erro 401 ou 403 de falha de autenticação.
Permissões do token para API's diferentes
Cada token possui as permissões atribuídas a ele. Cada API do BB possui permissões diferentes.
Então por exemplo, para consultar tanto a API de Pagamentos em Lote e API de Cobranças ainda será necessário solicitar dois tokens diferentes. Já que não é possível solicitar um token universal que sirva para TODAS as API's.
Por causa disso, CADA wrapper de cada API deverá fazer o controle do seu token e o comportamento de todos os wrappers perante a isso deve ser igual!
Tarefas