Skip to content

Healyhatman/oauth2-keypay

Repository files navigation

KeyPay Provider for OAuth 2.0 Client

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.

About

KeyPay Australia provider for OAuth 2.0 client

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages