wirecardBrasil/moip-sdk-php

Indução a erro pelo código exemplo para solicitar permissões de acesso ao usuário

Opened this issue · 0 comments

eldes commented

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 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.