This authentication middleware add Escher sign functionality to Guzzle Http Client.
composer require ngabor84/guzzle-escher-middleware
<?php
$credential = new \Guzzle\Http\Middleware\EscherCredential('key', 'secret', 'some/credential/scope');
$escherMiddleware = new \Guzzle\Http\Middleware\EscherMiddleware($credential);
$stack = \GuzzleHttp\HandlerStack::create();
$stack->push($escherMiddleware);
$client = new \GuzzleHttp\Client(['handler' => $stack]);
// Important: set the auth option to escher to activate the middleware
$response = $client->get('http://www.8points.de', ['auth' => 'escher']);