Java implementation of Akamai {OPEN} EdgeGrid signing.
This library implements Akamai {OPEN} EdgeGrid Authentication for Java. It is presented as a core module which can be used independently of any particular HTTP client library and three implementations for specific HTTP client libraries.
This project contains a core implementation module and five bindings to specific HTTP client libraries.
- edgegrid-signer-core is the core signing implementation and base classes used by the individual library implementations.
 - edgerc-reader is a configuration file reader that supports edgerc files. These files are basically INI files with certain sections and properties.
 - edgegrid-signer-apache-http-client is a binding for Apache HTTP Client.
 - edgegrid-signer-google-http-client is a binding for Google HTTP Client Library for Java.
 - edgegrid-signer-rest-assured is a binding for REST-assured.
 - edgegrid-signer-async-http-client is a binding for Async HTTP Client.
 - edgegrid-signer-gatling is a binding for Gatling.
 
4.0.1:
- Fix Issue #35, a broken unit test.
 - Use URI#getRawPath() when constructing a signature.
 
4.0:
- BREAKING CHANGE: Split the edgerc file reader into new module edgerc-reader.
 - Drop dependency on commons-configuration2 from edgegrid-signer-core.
 - Drop dependency on commons-lang3.
 - Drop dependency on commons-codec (use Base64 methods from JDK instead).
 - Use maven-bundle-plugin to add OSGi headers to MANIFEST.MF.
 
3.0:
- Minimum Java version is now 8.
 - Adding binding for Async HTTP Client.
 - Adding binding for Gatling.
 
2.1:
- Adding binding for Apache HTTP Client.
 - Splitting README.md between relevant modules.
 
2.0:
- Signing algorithm tweaks
 - Separating binding for Google HTTP Client Library for Java from core
 - Adding binding for REST-assured
 - Unit tests with TestNG
 - Publishing to Maven Central!
 
A number of similar libraries for signing requests exist for popular programming languages:
- There are two Python bindings: a command line tool similar to curl and a Python library.
 - Ruby binding
 - Perl binding
 - Powershell binding
 - NodeJS binding
 - C# binding
 - Go binding
 
Martin Meyer [email protected]
Maciej Gawinecki [email protected]
This is an open-source library, and contributions are welcome. You're welcome to fork this project and send us a pull request.
For more information about OPEN API visit the Akamai {OPEN} Developer Community.