Autenticación de Akamai EdgeGrid para PHP
Esta biblioteca requiere PHP 8+ e implementa el esquema de autenticación de Akamai EdgeGrid sobre Guzzle como un cliente de reemplazo y un middleware.
Para instalar, use composer :
$ composer require akamai-open/edgegrid-clientDescargue el archivo PHAR de la página de versiones e incluya dentro de su código:
```php
include 'akamai-open-edgegrid-auth.phar';
// Library is ready to use
```
AkamaiOpenEdgeGridClient extiende GuzzleHttpClient como un reemplazo de entrega. Funciona de manera transparente para firmar solicitudes de API sin cambiar otras formas en que usa Guzzle.
Para usar el cliente, llame a AkamaiOpenEdgeGridClient->setAuth() o proporcione una instancia de AkamaiOpenEdgeGridAuthentication al constructor antes de hacer una solicitud a una 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 ' );Para generar sus credenciales, consulte Crear credenciales de autenticación.
Recomendamos usar un archivo de autenticación .edgerc local. Coloque sus credenciales bajo un título de [default] en su directorio de inicio local o en el directorio de inicio de un usuario del servidor web.
[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Puede llamar a su archivo .edgerc una de dos maneras:
Use el método de fábrica AkamaiOpenEdgeGridClient::createFromEdgeRcFile() .
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ();
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' ); Especifique una sección de credenciales y/o ubicación .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 ' );Esta biblioteca proporciona una interfaz de línea de comandos (CLI) con un conjunto limitado de capacidades que imitan HTTPIE.
Instale el CLI con vendor/bin/http o ejecute el archivo PHAR.
# Composer installed
$ ./vendor/bin/http --help
# For Windows
> php ./vendor/bin/http --help
# PHAR download
php akamai-open-edgegrid-client.phar --helpPuede establecer la autenticación y especificar un método HTTP (insensible a la caja), sus encabezados y cualquier campos del cuerpo JSON.
Nota: Nuestra CLI muestra todos los datos HTTP y del cuerpo. JSON está formado.
| Argumento | Descripción |
|---|---|
--auth-type={edgegrid,basic,digest} | Establezca el tipo de autenticación. El valor predeterminado es none . |
--auth user: --a user: | Establezca la sección .edgerc para usar. A diferencia de httpie-edgegrid , el colon ( : es opcional. |
Header-Name:value | Los encabezados y los valores son colon ( : separados. |
jsonKey=value | Envía {"jsonKey": "value"} en el cuerpo POST o PUT . Esto también establecerá automáticamente el Content-Type y Accept encabezados en application/json . |
jsonKey:=[1,2,3] | Le permite especificar datos de JSON sin procesar, enviando {"jsonKey": [1, 2, 3]} en el cuerpo. |
multipart/mime (carga de archivo). Este paquete proporciona tres manejadores de middleware diferentes que puede agregar transparentemente al usar el Client , a un GuzzleHttpClient o como controlador.
AkamaiOpenEdgeGridHandlerAuthentication para firma de solicitud de API transparente.AkamaiOpenEdgeGridHandlerVerbose para las respuestas de salida (o registro).AkamaiOpenEdgeGridHandlerDebug para salida (o registro).| Entrenador de animales | Llamar |
|---|---|
Authentication | Client->setAuthentication() o pase en una instancia de AkamaiEdgeGridAuthentication a Client->__construct() . |
Verbose | Client->setInstanceVerbose() o Client::setVerbose() pasando de `verdadero |
Debug | Client->setInstanceDebug() , Client::setDebug() o establece la opción de configuración de debug con `verdadero |
| Entrenador de animales | Ejemplo |
|---|---|
| Autenticación | // 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
]); |
| Verboso | // 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. Todos los derechos reservados
Licenciado bajo la licencia Apache, versión 2.0 (la "licencia"); No puede usar este archivo, excepto de conformidad con la licencia. Puede obtener una copia de la licencia en http://www.apache.org/licenses/license-2.0.
A menos que la ley aplicable sea requerida o acordado por escrito, el software distribuido bajo la licencia se distribuye de manera "como es", sin garantías o condiciones de ningún tipo, ya sea expresas o implícitas. Consulte la licencia para los permisos y limitaciones de rigor de idioma específico bajo la licencia.