SDK for PHP 3.x

SignatureProvider
in package

Signature providers.

A signature provider is a function that accepts a version, service, and region and returns a SignatureInterface object on success or NULL if no signature can be created from the provided arguments.

You can wrap your calls to a signature provider with the SignatureProvider::resolve function to ensure that a signature object is created. If a signature object is not created, then the resolve() function will throw a UnresolvedSignatureException.

use Aws\Signature\SignatureProvider;
$provider = SignatureProvider::defaultProvider();
// Returns a SignatureInterface or NULL.
$signer = $provider('v4', 's3', 'us-west-2');
// Returns a SignatureInterface or throws.
$signer = SignatureProvider::resolve($provider, 'no', 's3', 'foo');

You can compose multiple providers into a single provider using or_chain. This function accepts providers as arguments and returns a new function that will invoke each provider until a non-null value is returned.

$a = SignatureProvider::defaultProvider();
$b = function ($version, $service, $region) {
    if ($version === 'foo') {
        return new MyFooSignature();
    }
};
$c = \Aws\or_chain($a, $b);
$signer = $c('v4', 'abc', '123');     // $a handles this.
$signer = $c('foo', 'abc', '123');    // $b handles this.
$nullValue = $c('???', 'abc', '123'); // Neither can handle this.

Table of Contents

Methods

defaultProvider()  : callable
Default SDK signature provider.
memoize()  : callable
Creates a signature provider that caches previously created signature objects. The computed cache key is the concatenation of the version, service, and region.
resolve()  : SignatureInterface
Resolves and signature provider and ensures a non-null return value.
version()  : callable
Creates signature objects from known signature versions.

Methods

defaultProvider()

Default SDK signature provider.

public static defaultProvider() : callable
Return values
callable

memoize()

Creates a signature provider that caches previously created signature objects. The computed cache key is the concatenation of the version, service, and region.

public static memoize(callable $provider) : callable
Parameters
$provider : callable

Signature provider to wrap.

Return values
callable

resolve()

Resolves and signature provider and ensures a non-null return value.

public static resolve(callable $provider, string $version, string $service, string $region) : SignatureInterface
Parameters
$provider : callable

Provider function to invoke.

$version : string

Signature version.

$service : string

Service name.

$region : string

Region name.

Tags
throws
UnresolvedSignatureException
Return values
SignatureInterface

version()

Creates signature objects from known signature versions.

public static version() : callable

This provider currently recognizes the following signature versions:

  • v4: Signature version 4.
  • anonymous: Does not sign requests.
Return values
callable
On this page