OAuth1 authentication for the HTTPlug library

v1.0.0 2017-01-01 11:30 UTC

This package is auto-updated.

Last update: 2021-12-19 10:41:29 UTC


Build Status Scrutinizer Code Quality

Sign PSR-7 requests using OAuth1 when using them with HTTPlug clients.


Install the OAuth1 integration using Composer:

$ composer require xabbuh/oauth1-authentication:^1.0


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

  2. 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(
        new AccessToken('access_token'),
        new TokenSecret('token_secret')
  3. 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(