softonic/guzzle-oauth2-middleware
Guzzle middleware with OAuth2 integration
Maintainers
Package info
github.com/softonic/guzzle-oauth2-middleware
pkg:composer/softonic/guzzle-oauth2-middleware
Requires
- php: >=7.1
- league/oauth2-client: ^2.2
- psr/cache: ^1.0|^2.0|^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.4
- phpunit/phpunit: ^6.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
Apache-2.0 632853648b5915e8164eebb64175d4ad87d03055
README
👁 Latest Version
👁 Software License
👁 Build Status
👁 Coverage Status
👁 Quality Score
👁 Total Downloads
👁 Average time to resolve an issue
👁 Percentage of issues still open
This package provides middleware for guzzle for handling OAuth2 token negotiation and renewal on expiry transparently. It accecpts PHP League's OAuth 2.0 Clients.
Installation
To install, use composer:
composer require softonic/guzzle-oauth2-middleware
Usage
<?php $options = [ 'clientId' => 'myclient', 'clientSecret' => 'mysecret' ]; // Any provider extending League\OAuth2\Client\Provider\AbstractProvider will do $provider = new Softonic\OAuth2\Client\Provider\Softonic($options); // Send OAuth2 parameters and use token_options for any other parameters your OAuth2 provider needs $config = ['grant_type' => 'client_credentials', 'scope' => 'myscope', 'token_options' => ['audience' => 'test_audience']]; // Any implementation of PSR-6 Cache will do $cache = new \Symfony\Component\Cache\Adapter\FilesystemAdapter(); $client = \Softonic\OAuth2\Guzzle\Middleware\ClientBuilder::build( $provider, $config, $cache, ['base_uri' => 'https://foo.bar/'] ); $response = $client->request('POST', 'qux);
Testing
softonic/guzzle-oauth2-middleware has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer.
To run the tests, run the following command from the project folder.
$ docker-compose run test
To run interactively using PsySH:
$ docker-compose run psysh
License
The Apache 2.0 license. Please see LICENSE for more information.
