<?php
require 'vendor/autoload.php';
$amazonProvider = new MichaelKaefer\OAuth2AmazonForPrestashop17\MichaelKaefer\OAuth2\Client\Provider\Amazon([
'clientId' => 'x',
'clientSecret' => 'x',
'redirectUri' => 'x'
]);
// Get authorization code
if (!isset($_GET['code'])) {
// Get authorization URL
$options = [
'scope' => ['profile', 'postal_code', 'payments:widget', 'payments:shipping_address', 'payments:billing_address']
];
$authorizationUrl = $amazonProvider->getAuthorizationUrl($options);
// Get state and store it to the session
$_SESSION['oauth2state'] = $amazonProvider->getState();
// Redirect user to authorization URL
header('Location: ' . $authorizationUrl);
exit;
// Check for errors
} elseif (empty($_GET['state']) || (isset($_SESSION['oauth2state']) && $_GET['state'] !== $_SESSION['oauth2state'])) {
if (isset($_SESSION['oauth2state'])) {
unset($_SESSION['oauth2state']);
}
exit('Invalid state');
} else {
// Get access token
try {
$accessToken = $amazonProvider->getAccessToken(
'authorization_code',
[
'code' => $_GET['code']
]
);
} catch (\MichaelKaefer\OAuth2ClientForPrestashop17\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {
exit($e->getMessage());
}
// Get resource owner
try {
$resourceOwner = $amazonProvider->getResourceOwner($accessToken);
} catch (\MichaelKaefer\OAuth2ClientForPrestashop17\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {
exit($e->getMessage());
}
// Now you can store the results to session ...
$_SESSION['accessToken'] = $accessToken;
$_SESSION['resourceOwner'] = $resourceOwner;
var_dump($accessToken, $resourceOwner->toArray());
var_dump($resourceOwner->toArray());
var_dump(get_class($resourceOwner));
print_r($resourceOwner);
}
oauth2amazon-for-prestashop17's Introduction
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.