pagarme / pagarme-php-sdk

Other
0 stars 1 forks source link

Authenticação não funciona na versão 6.8.8 #45

Closed gustavovendramini closed 2 weeks ago

gustavovendramini commented 5 months ago

Versão 6.8.8 está obrigando informar o password no Basic authentication porém a DOC da Pagar.me pede que fornecemos vazio => https://docs.pagar.me/reference/autentica%C3%A7%C3%A3o-2

O bug foi introduzido aqui https://github.com/pagarme/pagarme-php-sdk/blob/844015778276ad39d339992b947780c1b16c084e/src/Authentication/BasicAuthManager.php#L37 E veio dessa feature da apimatic https://github.com/apimatic/core-lib-php/pull/56

Core\Exceptions\AuthValidationException: Following authentication credentials are required:
-> Missing required header field: Authorization in /var/www/html/vendor/apimatic/core/src/Exceptions/AuthValidationException.php:23
Stack trace:
#0 /var/www/html/vendor/apimatic/core/src/Authentication/Auth.php(107): Core\Exceptions\AuthValidationException::init(Array)
#1 /var/www/html/vendor/apimatic/core/src/Client.php(121): Core\Authentication\Auth->validate(Object(Core\Utils\JsonHelper))
#2 /var/www/html/vendor/apimatic/core/src/Request/RequestBuilder.php(145): Core\Client->validateAuth(Object(Core\Authentication\Auth))
#3 /var/www/html/vendor/apimatic/core/src/ApiCall.php(45): Core\Request\RequestBuilder->build(Object(Core\Client))
#4 /var/www/html/vendor/pagarme/pagarme-php-sdk/src/Controllers/BaseController.php(44): Core\ApiCall->execute()
#5 /var/www/html/vendor/pagarme/pagarme-php-sdk/src/Controllers/CustomersController.php(152): PagarmeApiSDKLib\Controllers\BaseController->execute(Object(Core\Request\RequestBuilder), Object(Core\Response\ResponseHandler))
leoseefeld commented 5 months ago

@gustavovendramini, passamos pelo mesmo problema e temporariamente para conseguimos utilizar, se você passar um basicAuthPassword com uma string simples (usamos o 'x'), ele irá funcionar.

gustavovendramini commented 2 weeks ago

Resposta do suporte:

Esta SDK se trata de uma atualização na biblioteca da API Matic, empresa que utilizamos para gerar nossas SDKs a partir da API.

Nesta atualização, eles não permitem mais o envio de password em branco, portanto, basta vocês passarem uma string fixa que deve passar por esta etapa na SDK, e como na API não fazemos uso do password, apenas ignoramos a informação e vocês devem conseguir se autenticar normalmente.

Funcionou! Fechando a issue