Skip to content

jwilsson/php-auto-refresh-oauth2-token-plugin

Repository files navigation

PHP AutoRefreshOAuth2TokenPlugin

Packagist build Coverage Status

A HTTPlug plugin to automatically refresh expired OAuth2 access tokens.

Requirements

Installation

Via Composer:

composer require jwilsson/auto-refresh-oauth2-token-plugin

Usage

This assumes you have an instantiated Refresh Token grant and Token object from the jwilsson/oauth2-client library. A full Token object complete with access token, refresh token, and expiry information is expected.

use Http\Client\Common\PluginClient;
use JWilsson\AutoRefreshOAuth2TokenPlugin;

$autoRefreshOAuth2TokenPlugin = new AutoRefreshOAuth2TokenPlugin(
    $token,
    $refreshTokenGrant,
    $options, // Options for the plugin, see below
    $refreshTokenOptions // Additional options to pass to RefreshToken::requestAccessToken()
);

$pluginClient = new PluginClient(
    $myHttpClient,
    [$autoRefreshOAuth2TokenPlugin]
);

$response = $pluginClient->sendRequest($myRequest);

// Remember to grab the token object after each call, it might have been updated with new information
$refreshedToken = $autoRefreshOAuth2TokenPlugin->getToken();

Options

  • threshold - Threshold in seconds for how close to the token's expiry time it should be considered expired. Default is 300 (5 minutes).

About

HTTPlug plugin to automatically refresh expired OAuth2 access tokens.

Topics

Resources

License

Stars

Watchers

Forks

Languages