/home/desid573/public_html/angel/payment/xero
NameSizeModeActions
docs/-0755rm
lib/-0755rm
test/-0755rm
vendor/-0755rm
__MACOSX/-0755rm
authorisation.php19060644editdlrm
authorizedResource.php17420644editdlrm
callback.php22630644editdlrm
CODE_OF_CONDUCT.md33440644editdlrm
composer.json9840644editdlrm
CONTRIBUTING.md54530644editdlrm
error_log434770644editdlrm
getInvoice.php45570644editdlrm
git_push.sh16610644editdlrm
phpunit.xml.dist6880644editdlrm
README.md109520644editdlrm
storage.php15570644editdlrm
vendor.zip8862410644editdlrm
Edit: /home/desid573/public_html/angel/payment/xero/callback.php (2263B)
extend to your DB of choice $storage = new StorageClass(); $provider = new \League\OAuth2\Client\Provider\GenericProvider([ 'clientId' => '0019D1B665CC45AE9D0B78C189A265AC', 'clientSecret' => 'thiiEp0E7ZSZPmQW58Oe9x3Ek_hmmd9fggVtdUD0EpFlZVII', 'redirectUri' => 'https://desidrivers.com.au/angel/payment/xero/callback.php', 'urlAuthorize' => 'https://login.xero.com/identity/connect/authorize', 'urlAccessToken' => 'https://identity.xero.com/connect/token', 'urlResourceOwnerDetails' => 'https://api.xero.com/api.xro/2.0/Organisation' ]); // If we don't have an authorization code then get one if (!isset($_GET['code'])) { header("Location: index.php?error=true"); exit(); // Check given state against previously stored one to mitigate CSRF attack } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { echo "Invalid State"; unset($_SESSION['oauth2state']); exit('Invalid state'); } else { try { // Try to get an access token using the authorization code grant. $accessToken = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( (string)$accessToken->getToken() ); $config->setHost("https://api.xero.com"); $identityInstance = new XeroAPI\XeroPHP\Api\IdentityApi( new GuzzleHttp\Client(), $config ); $result = $identityInstance->getConnections(); // Save my token, expiration and tenant_id $storage->setToken( $accessToken->getToken(), $accessToken->getExpires(), $result[0]->getTenantId(), $accessToken->getRefreshToken() ); header('Location: ' . './authorizedResource.php'); exit(); } catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) { echo "Callback failed"; exit(); } } ?>