luchianenco/oauth2-amazon

Amazon OAuth 2.0 Client Provider for The PHP League OAuth2-Client

Maintainers

👁 luchianenco

Package info

github.com/luchianenco/oauth2-amazon

pkg:composer/luchianenco/oauth2-amazon

Statistics

Installs: 102 754

Dependents: 5

Suggesters: 2

Stars: 3

Open Issues: 0

3.0.0 2022-10-28 13:46 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 71ed920a9c11b850e28c4ad8858ea42501bd71fa

authorizationamazonAuthenticationclientoauthoauth2

This package is not auto-updated.

Last update: 2026-06-20 06:57:23 UTC


README

👁 Latest Version
👁 Build Status
👁 Total Downloads

This package provides Amazon OAuth 2.0 support for the PHP League's OAuth 2.0 Client.

Installation

To install the package, use composer:

composer require luchianenco/oauth2-amazon

Usage

Usage is the same as The League's OAuth client, using \Luchianenco\OAuth2\Client\Provider\Amazon as the provider.

Authorization Code Flow

$provider = new Luchianenco\OAuth2\Client\Provider\Amazon([
 'clientId' => '{amazon-client-id}',
 'clientSecret' => '{amazon-client-secret}',
 'redirectUri' => 'https://example.com/callback_url',
]);

// Send OAuth Request
// If we don't have an authorization code then we can get one
$authUrl = $provider->getAuthorizationUrl();
$_SESSION['OAuth2State'] = $provider->getState();

...

// OAuth2 Callback URL
// Compare given state against previously stored one to block CSRF attack
if (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['OAuth2State'])) {

 exit('Invalid state');
 
} else {

 // Try to get an access token
 $token = $provider->getAccessToken('authorization_code', ['code' => $_GET['code']]);

 // Now we can look up users profile
 try {
 // Get the user's details
 $user = $provider->getResourceOwner($token);

 printf('Hello %s!', $user->getName());

 } catch (Exception $e) {
 // Failed to get user details
 exit('Oh no ... ...');
 }

 // We can use token to make other API calls
 echo $token->getToken();
}

Testing

$ ./vendor/bin/phpunit