xabbuh / oauth1-authentication
OAuth1 authentication for the HTTPlug library
Installs: 9 539
Dependents: 0
Suggesters: 1
Security: 0
Stars: 6
Watchers: 3
Forks: 1
Open Issues: 1
Requires
- php: ^5.5 || ^7.0
- api-clients/psr7-oauth1: ^2.0 || ^1.0
- php-http/message: ^1.0
Requires (Dev)
- phpspec/phpspec: ~2.3
README
Sign PSR-7 requests using OAuth1 when using them with HTTPlug clients.
Installation
Install the OAuth1 integration using Composer:
$ composer require xabbuh/oauth1-authentication:^1.0
Usage
-
Configure the request signer with your consumer key and secret:
use ApiClients\Tools\Psr7\Oauth1\Definition\ConsumerKey; use ApiClients\Tools\Psr7\Oauth1\Definition\ConsumerSecret; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; $requestSigner = new RequestSigner( new ConsumerKey('consumer_key'), new ConsumerSecret('consumer_secret') );
You can also optionally specify the hash algorithm to use. Read more about that in the api-clients/psr7-oauth1 documentation.
-
Set up the OAuth1 authentication passing the configured request signer together with your access token and token secret:
// ... use ApiClients\Tools\Psr7\Oauth1\Definition\AccessToken; use ApiClients\Tools\Psr7\Oauth1\Definition\TokenSecret; use Xabbuh\Http\Authentication\OAuth1; // ... $oauth = new OAuth1( $requestSigner, new AccessToken('access_token'), new TokenSecret('token_secret') );
-
Use the configured authentication with the authentication plugin:
// ... use Http\Discovery\HttpClientDiscovery; use Http\Client\Common\PluginClient; use Http\Client\Common\Plugin\AuthenticationPlugin; // ... $authenticationPlugin = new AuthenticationPlugin($oauth); $pluginClient = new PluginClient( HttpClientDiscovery::find(), [$authenticationPlugin] );