

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d'un fournisseur d'informations d'identification personnalisé à utiliser avec le SDK for PHP
<a name="creating-a-custom-provider"></a>

Les fournisseurs d'informations d'identification sont simplement des fonctions qui, lorsqu'elles sont appelées, renvoient une promesse (`GuzzleHttp\Promise\PromiseInterface`) tenue grâce à un objet `Aws\Credentials\CredentialsInterface` ou rejetée via une `Aws\Exception\CredentialsException`.

Une bonne pratique pour créer des fournisseurs consiste à créer une fonction qui est appelée pour créer le véritable fournisseur d'informations d'identification. Par exemple, voici la source du fournisseur `env` (légèrement modifiée pour cet exemple). Notez qu'il s'agit d'une fonction qui renvoie la fonction du véritable fournisseur. Ceci vous permet de composer facilement des fournisseurs d'informations d'identification et de les transmettre comme valeurs.

```
use GuzzleHttp\Promise;
use GuzzleHttp\Promise\RejectedPromise;

// This function CREATES a credential provider
public static function env()
{
    // This function IS the credential provider
    return function () {
        // Use credentials from environment variables, if available
        $key = getenv(self::ENV_KEY);
        $secret = getenv(self::ENV_SECRET);
        if ($key && $secret) {
            return Create::promise_for(
                new Credentials($key, $secret, getenv(self::ENV_SESSION))
            );
        }

        $msg = 'Could not find environment variable '
            . 'credentials in ' . self::ENV_KEY . '/' . self::ENV_SECRET;
        return new RejectedPromise(new CredentialsException($msg));
    };
}
```