healyhatman / oauth2-keypay
Provider for the OAuth 2 client
Fund package maintenance!
:vendor_name
Installs: 1 111
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^7.4 || ^8.0
- league/oauth2-client: 2.*
This package is auto-updated.
Last update: 2025-03-29 01:02:05 UTC
README
This package provides KeyPay OAuth 2.0 support for the PHP League's OAuth 2.0 Client
Installation
You can install the package via composer:
composer require healyhatman/oauth2-keypay
Usage
Usage is the same as The League's OAuth client, using \Healyhatman\OAuth2\Client\Provider\KeyPay
as the provider.
Authorisation Code Flow
session_start();
$provider = new \Healyhatman\Oauth2\Client\Provider\KeyPay([
'clientId' => '{your KeyPay client ID}',
'clientSecret' => '{your KeyPay client secret}',
'clientId' => '{your KeyPay redirect URI}'
]);
if (!isset($_GET['code'])) {
// If we don't have an authorization code then get one
$authUrl = $provider->getAuthorizationUrl(['scope' => '']);
$_SESSION['oauth2state'] = $provider->getState();
header('Location: ' . $authUrl);
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 to get an access token (using the authorization code grant)
$token = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code']
]);
}
You can then store the token to make requests
Refreshing a Token
$newAccessToken = $provider->getAccessToken('refresh_token', [
'refresh_token' => $access->refresh_token
]);
Testing
I haven't made anything for that yet. One day! Maybe.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
Special Thanks
License
The MIT License (MIT). Please see License File for more information.