O código exemplo no GitHub (referência acima) deveria ser alterado para deixar mais evidente a função do método setScope() e do terceiro parâmetro do construtor da classe Connect.
Porque não faz sentido especificar true para o referido parâmetro e depois usar uma sequência de setScope(). É redundante e pode passar a falsa informação que naquela sequência se define o valor do campo scope da URL gerada.
Comportamento esperado
Apenas os itens definidos por setScope() seriam usados na URL gerada pelo método getAuthUrl(), ou seja apenas:
RECEIVE_FUNDS
REFUND
MANAGE_ACCOUNT_INFO
RETRIEVE_FINANCIAL_INFO
Comportamento atual
Todos os possíveis itens de scope são usados na URL gerada, ou seja:
RECEIVE_FUNDS
REFUND
MANAGE_ACCOUNT_INFO
RETRIEVE_FINANCIAL_INFO
TRANSFER_FUNDS
DEFINE_PREFERENCES
Solução Possível
Trocar o valor inicial da variável $scope de true para false.
Em complemento, seria mais adequado — e condizente com a sua função — se o nome do método fosse addScope() em vez de setScope().
Passo a passo para gerar o erro
Basta apenas executar o código-exemplo, como está atualmente na referência, e verificar que a URL gerada inclui TRANSFER_FUNDS e DEFINE_PREFERENCES no parâmetro scope.
Referência
https://github.com/wirecardBrasil/moip-sdk-php#solicitar-permissões-de-acesso-ao-usuário
Descrição
O código exemplo no GitHub (referência acima) deveria ser alterado para deixar mais evidente a função do método
setScope()
e do terceiro parâmetro do construtor da classeConnect
.Porque não faz sentido especificar
true
para o referido parâmetro e depois usar uma sequência desetScope()
. É redundante e pode passar a falsa informação que naquela sequência se define o valor do camposcope
da URL gerada.Comportamento esperado
Apenas os itens definidos por
setScope()
seriam usados na URL gerada pelo métodogetAuthUrl()
, ou seja apenas:Comportamento atual
Todos os possíveis itens de scope são usados na URL gerada, ou seja:
Solução Possível
Trocar o valor inicial da variável
$scope
detrue
parafalse
.Em complemento, seria mais adequado — e condizente com a sua função — se o nome do método fosse
addScope()
em vez desetScope()
.Passo a passo para gerar o erro
Basta apenas executar o código-exemplo, como está atualmente na referência, e verificar que a URL gerada inclui
TRANSFER_FUNDS
eDEFINE_PREFERENCES
no parâmetroscope
.