kinetis/aws-sigv4

A PSR-18 client decorator that signs outgoing requests with AWS Signature Version 4 (SigV4) — reused signing logic from async-aws/core, non-blocking via kinetis/revolt-http-client. Usable standalone, not only with Kinetis.

Maintainers

Package info

github.com/kinetis-dev/aws-sigv4

pkg:composer/kinetis/aws-sigv4

Transparency log

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.3 2026-08-16 08:57 UTC

This package is auto-updated.

Last update: 2026-08-16 08:57:30 UTC


README

Kinetis

kinetis/aws-sigv4
A PSR-18 client decorator that signs requests with AWS Signature Version 4

Packagist Version Packagist Downloads PHP Version License CI

Wraps any PSR-18 HTTP client and signs every outgoing request with AWS Signature Version 4 (SigV4) before delegating to it — the signing math itself is AsyncAws\Core\Signer\SignerV4, the same class every AsyncAws service client already uses internally, reused directly rather than reimplemented. Usable standalone with any PSR-18 client, not only kinetis/revolt-http-client — and usable outside Kinetis entirely, the same relationship kinetis/revolt-http-client already has with the wider PHP ecosystem.

use Kinetis\AwsSigV4\SigV4SigningClient;
use Kinetis\RevoltHttpClient\AmpHttpClientFactory;
use Symfony\Component\HttpClient\Psr18Client;

$signedClient = new SigV4SigningClient(
    client: new Psr18Client(AmpHttpClientFactory::create()),
    region: 'us-east-1',
    service: 'es', // Amazon OpenSearch Service's signing name
);

$response = $signedClient->sendRequest($request);

$service is the AWS signing service name ("es" for Amazon OpenSearch Service, "execute-api" for API Gateway, and so on) — required, with no default, since guessing wrong produces a signature that fails verification rather than an obvious error.

Credentials

Resolved through AsyncAws's own default provider chain (AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, a shared credentials file, or an IAM role) unless a CredentialProvider is passed directly as the fourth constructor argument. The chain's own bootstrap HTTP calls (an instance-metadata or container-credentials lookup) go through AmpHttpClientFactory::create() too, so credential resolution never blocks the worker either.

Installation

composer require kinetis/aws-sigv4

Requires PHP 8.4+ and kinetis/revolt-http-client. Full documentation: docs.kinetis.dev/aws-sigv4.html.

License

MIT — see LICENSE.