Gestionnaire de fichiers - Editer - /home/wwgoat/public_html/blog/wp-content/plugins/simple-membership/lib/braintree/lib/Braintree/OAuthGateway.php
Arrière
<?php namespace Braintree; /** * Braintree OAuthGateway module * PHP Version 5 * 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; } /** * @deprecated since version 3.26.1 */ public function computeSignature($url) { $key = hash('sha256', $this->_config->getClientSecret(), true); return hash_hmac('sha256', $url, $key); } } class_alias('Braintree\OAuthGateway', 'Braintree_OAuthGateway');
| ver. 1.4 |
Github
|
.
| PHP 8.0.30 | Génération de la page: 0.01 |
proxy
|
phpinfo
|
Réglages