teltek / oauth2-oracle-access-manager
Oracle access manager OAuth 2.0 Client Provider for The PHP League OAuth2-Client
1.0.3
2021-02-01 12:07 UTC
Requires
- php: >=5.5.9
- league/oauth2-client: 2.2.0
- pumukit/pumukit: <=2.7
Requires (Dev)
- phpunit/phpunit: ~4.5
This package is auto-updated.
Last update: 2024-11-29 05:09:09 UTC
README
This bundle is deprecated and only works for PuMuKIT v2.7 or lower.
To use PuMuKIT v3 or greater install the new bundle: PumukitOAuth2Bundle
Oracle Access Manager Provider for OAuth 2.0 Client
This package provides Oracle Access Manager OAuth 2.0 support for the PHP League's OAuth 2.0 Client.
Installation
To install, use composer:
composer require teltek/oauth2-oracle-access-manager
Usage
Usage is the same as The League's OAuth client, using Teltek\Oauth2OracleAccessManagerBundle\Provider\Oam
as the provider.
Authorization Code Flow
$provider = new Teltek\Oauth2OracleAccessManagerBundle\Provider\Oam( 'clientId' => 'your client id', 'clientSecret' => 'your client secret', 'redirectUri' => 'your redirect uri', 'urlAuthorize' => 'your url authorize', 'urlAccessToken' => 'your url access token', 'urlResourceOwnerDetails' => 'your url resource owner details', ]); if (!isset($_GET['code'])) { $options['scope'] = array('Customer.Info','UserProfile.me'); $authorizationUrl = $provider->getAuthorizationUrl($options); $_SESSION['oauth2state'] = $provider->getState(); header('Location: '.$authorizationUrl); exit; } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); exit('Invalid state'); } else { try { $accessToken = $provider->getAccessToken('authorization_code',['code' => $_GET['code']]); $resourceOwner = $provider->getResourceOwner($accessToken); ... } catch (IdentityProviderException $e) { exit($e->getMessage()); }
Scopes
If you want send different scopes you must edit:
$options['scope'] = array('Customer.Info','UserProfile.me');