1. Go to this page and download the library: Download ominity/oauth2-ominity-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ominity / oauth2-ominity-php example snippets
$provider = new \Ominity\OAuth2\Client\Provider\Ominity([
'clientId' => 'YOUR_CLIENT_ID',
'clientSecret' => 'YOUR_CLIENT_SECRET',
'redirectUri' => 'https://your-redirect-uri',
]);
// If we don't have an authorization code then get one
if (!isset($_GET['code']))
{
// Fetch the authorization URL from the provider; this returns the
// urlAuthorize option and generates and applies any necessary parameters
// (e.g. state).
$authorizationUrl = $provider->getAuthorizationUrl([
// Optional, only use this if you want to ask for scopes the user previously denied.
'approval_prompt' => 'force',
// Optional, a list of scopes. Defaults to only 'me.read'.
'scope' => [
\Ominity\OAuth2\Client\Provider\Ominity::SCOPE_ME_READ,
\Ominity\OAuth2\Client\Provider\Ominity::SCOPE_USERS_READ
],
]);
// Get the state generated for you and store it to the session.
$_SESSION['oauth2state'] = $provider->getState();
// Redirect the user to the authorization URL.
header('Location: ' . $authorizationUrl);
exit;
}
// Check given state against previously stored one to mitigate CSRF attack
elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state']))
{
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']
]);
// Using the access token, we may look up details about the resource owner.
$resourceOwner = $provider->getResourceOwner($accessToken);
print_r($resourceOwner->toArray());
}
catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e)
{
// Failed to get the access token or user details.
exit($e->getMessage());
}
}
$ominity = new \Ominity\Api\OminityApiClient;
$ominity->setAccessToken($token->getToken());
// With the correct scopes, you can now interact with Ominity's API on behalf of the User
$orders = $ominity->commerce->orders->page(); // returns paginated user orders