PHPackages                             emartech/escher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. emartech/escher

ActiveLibrary[HTTP &amp; Networking](/categories/http)

emartech/escher
===============

Library for HTTP request signing (PHP implementation)

4.1.1(6mo ago)20308.9k↓38.9%11[7 issues](https://github.com/emartech/escher-php/issues)[1 PRs](https://github.com/emartech/escher-php/pulls)8MITPHPPHP &gt;=7.3CI passing

Since Sep 10Pushed 4w ago18 watchersCompare

[ Source](https://github.com/emartech/escher-php)[ Packagist](https://packagist.org/packages/emartech/escher)[ Docs](https://github.com/emartech/escher-php)[ RSS](/packages/emartech-escher/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (1)Versions (28)Used By (8)

EscherPHP - HTTP request signing lib [![Build Status](https://camo.githubusercontent.com/dde79716783898c1677156781ee8eb9cf83735d029c6f073aea2690055f2a46c/68747470733a2f2f7472617669732d63692e6f72672f656d6172746563682f6573636865722d7068702e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/emartech/escher-php)
=============================================================================================================================================================================================================================================================================================================================

[](#escherphp---http-request-signing-lib-)

Escher helps you creating secure HTTP requests (for APIs) by signing HTTP(s) requests. It's both a server side and client side implementation. The status is work in progress.

The algorithm is based on [Amazon's *AWS Signature Version 4*](http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html), but we have generalized and extended it.

More details will be available at our [documentation site](https://documentation.emarsys.com/).

Signing a request
-----------------

[](#signing-a-request)

Escher works by calculating a cryptographic signature of your request, and adding it (and other authentication information) to said request. Usually you will want to add the authentication information to the request by appending extra headers to it. Let's say you want to send a signed POST request to  using the Guzzle\\Http library:

```
