mirror of
https://github.com/jwilsson/php-auto-refresh-oauth2-token-plugin.git
synced 2026-04-26 23:15:55 +03:00
HTTPlug plugin to automatically refresh expired OAuth2 access tokens.
| .github/workflows | ||
| src | ||
| tests | ||
| .gitignore | ||
| .php-cs-fixer.dist.php | ||
| composer.json | ||
| LICENSE.md | ||
| phpstan.neon.dist | ||
| phpunit.xml.dist | ||
| README.md | ||
PHP AutoRefreshOAuth2TokenPlugin
A HTTPlug plugin to automatically refresh expired OAuth2 access tokens.
Requirements
- PHP 8.4 or later.
- jwilsson/oauth2-client library.
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).