wirecardBrasil / moip-sdk-php

Cliente em PHP para integração server-side com APIs Moip v2
MIT License
124 stars 90 forks source link

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

Open eldes opened 4 years ago

eldes commented 4 years ago

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:

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