Akamai Edgegrid Authentification pour PHP
Cette bibliothèque nécessite PHP 8+ et met en œuvre le schéma d'authentification Akamai Edgegrid sur Guzzle en tant que client de remplacement et middleware.
Pour installer, utilisez composer :
$ composer require akamai-open/edgegrid-clientTéléchargez le fichier phar à partir de la page des versions et incluez-la dans votre code:
```php
include 'akamai-open-edgegrid-auth.phar';
// Library is ready to use
```
Le AkamaiOpenEdgeGridClient étend GuzzleHttpClient en remplacement de dépôt. Il fonctionne de manière transparente pour signer les demandes d'API sans changer d'autres façons d'utiliser Guzzle.
Pour utiliser le client, appelez AkamaiOpenEdgeGridClient->setAuth() ou fournissez une instance de AkamaiOpenEdgeGridAuthentication au constructeur avant de faire une demande à une API.
$ client = new Akamai Open EdgeGrid Client ([
' base_uri ' => ' https://akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net '
]);
$ client -> setAuth ( $ client_token , $ client_secret , $ access_token );
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' );Pour générer vos informations d'identification, voir Créer des informations d'identification d'authentification.
Nous vous recommandons d'utiliser un fichier d'authentification .edgerc local. Placez vos informations d'identification sous une rubrique de [default] dans votre répertoire local ou dans le répertoire domestique d'un utilisateur de serveur Web.
[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Vous pouvez appeler votre fichier .edgerc de deux façons:
Utilisez la méthode d'usine AkamaiOpenEdgeGridClient::createFromEdgeRcFile() .
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ();
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' ); Spécifiez une section des informations d'identification et / ou .edgerc
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ( ' example ' , ' ../config/.edgerc ' );
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' );Cette bibliothèque fournit une interface de ligne de commande (CLI) avec un ensemble limité de capacités qui imitent httpie.
Installez le CLI avec vendor/bin/http ou exécutez le fichier phar.
# Composer installed
$ ./vendor/bin/http --help
# For Windows
> php ./vendor/bin/http --help
# PHAR download
php akamai-open-edgegrid-client.phar --helpVous pouvez définir l'authentification et spécifier une méthode HTTP (cas insensible), ses en-têtes et tous les champs corporels JSON.
Remarque: Notre CLI affiche toutes les données HTTP et Body. JSON est formé.
| Argument | Description |
|---|---|
--auth-type={edgegrid,basic,digest} | Définissez le type d'authentification. La valeur par défaut none . |
--auth user: ou --a user: | Définissez la section .edgerc à utiliser. Contrairement à httpie-edgegrid , le côlon ( : est facultatif. |
Header-Name:value | Les en-têtes et les valeurs sont séparés du côlon ( : . |
jsonKey=value | Envoie {"jsonKey": "value"} dans le POST ou PUT le corps. Cela définira également automatiquement le Content-Type et Accept les en-têtes sur application/json . |
jsonKey:=[1,2,3] | Vous permet de spécifier des données JSON brutes, en envoyant {"jsonKey": [1, 2, 3]} dans le corps. |
multipart/mime (fichier). Ce package fournit trois gestionnaires de middleware différents que vous pouvez ajouter de manière transparente lorsque vous utilisez le Client , à un GuzzleHttpClient ou en tant que gestionnaire.
AkamaiOpenEdgeGridHandlerAuthentication pour la signature de la demande d'api transparente.AkamaiOpenEdgeGridHandlerVerbose pour les réponses de sortie (ou log).AkamaiOpenEdgeGridHandlerDebug pour la sortie (ou le journal).| Maître | Appel |
|---|---|
Authentication | Client->setAuthentication() ou passer dans une instance de AkamaiEdgeGridAuthentication au Client->__construct() . |
Verbose | Client->setInstanceVerbose() ou Client::setVerbose() transmettant de `true |
Debug | Client->setInstanceDebug() , Client::setDebug() , ou définir l'option de configuration debug avec `true |
| Maître | Exemple |
|---|---|
| Authentification | // Create the Authentication Handler
$ auth = Akamai Open EdgeGrid Handler Authentication:: createFromEdgeRcFile ();
// or:
$ auth = new Akamai Open EdgeGrid Handler Authentication ;
$ auth -> setAuth ( $ client_token , $ client_secret , $ access_token );
// Create the handler stack
$ handlerStack = GuzzleHttp HandlerStack:: create ();
// Add the Auth handler to the stack
$ handlerStack -> push ( $ auth );
// Add the handler to a regular GuzzleHttpClient
$ guzzle = new GuzzleHttp Client ([
" handler " => $ handlerStack
]); |
| Verbeux | // Create the handler stack
$ handlerStack = HandlerStack:: create ();
// Add the Auth handler to the stack
$ handlerStack -> push ( new Akamai Open EdgeGrid Handler Verbose ());
// Add the handler to a regular GuzzleHttpClient
$ guzzle = new GuzzleHttp Client ([
" handler " => $ handlerStack
]); // Create the handler stack
$ handlerStack = HandlerStack:: create ();
// Add the Auth handler to the stack
$ handlerStack -> push ( new Akamai Open EdgeGrid Handler Debug ());
// Add the handler to a regular GuzzleHttpClient
$ guzzle = new GuzzleHttp Client ([
" handler " => $ handlerStack
]); |
Copyright © 2022 Akamai Technologies, Inc. Tous droits réservés
Licencié sous la licence Apache, version 2.0 (la "licence"); Vous ne pouvez pas utiliser ce fichier sauf conforme à la licence. Vous pouvez obtenir une copie de la licence à http://www.apache.org/licenses/license-2.0.
Sauf exiger la loi applicable ou convenu par écrit, les logiciels distribués en vertu de la licence sont distribués sur une base «tel quel», sans garantie ou conditions d'aucune sorte, expresse ou implicite. Voir la licence pour la langue spécifique régissant les autorisations et les limitations sous la licence.