jwilsson/auto-refresh-oauth2-token-plugin

HTTPlug plugin to automatically refresh expired OAuth2 access tokens.

v3.1.0 2024-01-21 12:13 UTC

This package is auto-updated.

Last update: 2024-04-21 12:53:26 UTC


README

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).