Autenticação Akamai EdgeGrid para PHP
Esta biblioteca requer Php 8+ e implementa o esquema de autenticação Akamai EdgeGrid no topo do Guzzle como cliente de substituição e middleware.
Para instalar, use composer :
$ composer require akamai-open/edgegrid-clientFaça o download do arquivo PHAR na página de lançamentos e inclua -o dentro do seu código:
```php
include 'akamai-open-edgegrid-auth.phar';
// Library is ready to use
```
O AkamaiOpenEdgeGridClient estende GuzzleHttpClient como uma substituição de queda. Funciona de forma transparente para assinar solicitações de API sem alterar outras maneiras de usar o Guzzle.
Para usar o cliente, ligue para AkamaiOpenEdgeGridClient->setAuth() ou forneça uma instância de AkamaiOpenEdgeGridAuthentication ao construtor antes de fazer uma solicitação a uma 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 gerar suas credenciais, consulte Criar credenciais de autenticação.
Recomendamos o uso de um arquivo de autenticação .edgerc local. Coloque suas credenciais sob um título de [default] no diretório doméstico local ou no diretório doméstico de um usuário do servidor da Web.
[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Você pode ligar para o seu .edgerc arquivo de duas maneiras:
Use o método da 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 uma seção de credenciais e/ou .edgerc Localização:
$ 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 fornece uma interface de linha de comando (CLI) com um conjunto limitado de recursos que imitam httpie.
Instale a CLI com vendor/bin/http ou execute o arquivo PHAR.
# Composer installed
$ ./vendor/bin/http --help
# For Windows
> php ./vendor/bin/http --help
# PHAR download
php akamai-open-edgegrid-client.phar --helpVocê pode definir autenticação e especificar um método HTTP (insensível a casos), seus cabeçalhos e quaisquer campos do corpo JSON.
Nota: Nossa CLI mostra todos os dados HTTP e do corpo. JSON é formado.
| Argumento | Descrição |
|---|---|
--auth-type={edgegrid,basic,digest} | Defina o tipo de autenticação. O padrão é none . |
--auth user: ou --a user: | Defina a seção .edgerc para usar. Ao contrário de httpie-edgegrid , o cólon ( : é opcional. |
Header-Name:value | Cabeçalhos e valores são cólon ( : Separados. |
jsonKey=value | Envia {"jsonKey": "value"} na POST ou PUT corpo. Isso também definirá automaticamente o Content-Type e Accept cabeçalhos como application/json . |
jsonKey:=[1,2,3] | Permite especificar dados JSON brutos, enviando {"jsonKey": [1, 2, 3]} no corpo. |
multipart/mime (upload de arquivo). Este pacote fornece três manipuladores de middleware diferentes que você pode adicionar de forma transparente ao usar o Client , a um GuzzleHttpClient padrão ou como manipulador.
AkamaiOpenEdgeGridHandlerAuthentication para assinatura da solicitação de API transparente.AkamaiOpenEdgeGridHandlerVerbose para respostas de saída (ou log).AkamaiOpenEdgeGridHandlerDebug para erros de saída (ou log).| Manipulador | Chamar |
|---|---|
Authentication | Client->setAuthentication() ou Pass em uma instância de AkamaiEdgeGridAuthentication to Client->__construct() . |
Verbose | Client->setInstanceVerbose() ou Client::setVerbose() Passando em `True |
Debug | Client->setInstanceDebug() , Client::setDebug() ou Set the debug Config Opção com `true |
| Manipulador | Exemplo |
|---|---|
| Autenticação | // 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
]); |
| Detalhado | // 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 os direitos reservados
Licenciado sob a licença Apache, versão 2.0 (a "licença"); Você não pode usar esse arquivo, exceto em conformidade com a licença. Você pode obter uma cópia da licença em http://www.apache.org/license/license-2.0.
A menos que exigido pela lei aplicável ou acordada por escrito, o software distribuído pela licença é distribuído "como está", sem garantias ou condições de qualquer tipo, expressa ou implícita. Consulte a licença para o idioma específico que rege as permissões e limitações sob a licença.