healyhatman/oauth2-keypay

Provider for the OAuth 2 client

1.1 2022-06-29 03:53 UTC

This package is auto-updated.

Last update: 2024-05-29 05:02:43 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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.