kdubuc / oauth2-introspection-psr15
PSR15 OAuth2 Introspection Middleware
dev-main
2022-05-11 07:20 UTC
Requires
- php: ^7.1 || ^8.0
- psr/cache: ^1.0|^2.0|^3.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- guzzlehttp/psr7: 2.0.0-beta1
- kdubuc/php-cs-fixer-rules: ^1.0
- phpunit/phpunit: ^9.0
- wildwolf/psr-memory-cache: ^1.0
This package is auto-updated.
Last update: 2024-11-11 12:29:50 UTC
README
Protect your API with OAuth 2.0 Token Introspection RFC 7662.
PSR-6 can be used to store introspection data during its lifetime (if expiration timestamp of the token is specified by introspection endpoint).
Install
Via Composer
$ composer require kdubuc/oauth2-introspection-psr15
Usage
$middleware = new Oauth2Introspection($http_psr18_client, $http_stream_psr17_factory, $http_request_psr17_factory, [ 'introspection_endpoint' => 'http://oauth2.example.com/introspect', 'oauth2_client_id' => 'client_id', 'oauth2_client_secret' => 'client_secret', ]); $middleware->enableCache($psr6_cache); // Introspection results will be stored into 'oauth2_access_token_introspection_data' request attribute
Testing
$ vendor/bin/phpunit tests/
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email kevindubuc62@gmail.com instead of using the issue tracker.
Credits
License
The CeCILL-B License. Please see License File for more information.