Akamai Edgegrid -Authentifizierung für PHP
Diese Bibliothek erfordert PHP 8+ und implementiert das Akamai Edgegrid-Authentifizierungsschema auf dem Guzzle als Drop-In-Ersatz-Client und Middleware.
Zum Installieren composer verwenden:
$ composer require akamai-open/edgegrid-clientLaden Sie die PHAR -Datei von der Seite "Releases" herunter und geben Sie sie in Ihren Code ein:
```php
include 'akamai-open-edgegrid-auth.phar';
// Library is ready to use
```
Der AkamaiOpenEdgeGridClient erweitert GuzzleHttpClient als Drop-In-Ersatz. Es funktioniert transparent, um API -Anfragen zu unterschreiben, ohne andere Möglichkeiten zu ändern, wie Sie Guzzle verwenden.
Um den Client zu verwenden, rufen Sie AkamaiOpenEdgeGridClient->setAuth() an oder geben Sie eine Instanz von AkamaiOpenEdgeGridAuthentication an den Konstruktor an, bevor Sie eine API anfordern.
$ 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 ' );Um Ihre Anmeldeinformationen zu generieren, finden Sie unter Erstellen von Authentifizierungsanmeldeinformationen.
Wir empfehlen, eine lokale .edgerc -Authentifizierungsdatei zu verwenden. Platzieren Sie Ihre Anmeldeinformationen in Ihrem örtlichen Heimverzeichnis oder im Home [default] Verzeichnis eines Webserver-Benutzers.
[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Sie können Ihre .edgerc -Datei auf zwei Möglichkeiten anrufen:
Verwenden Sie die Werksmethode AkamaiOpenEdgeGridClient::createFromEdgeRcFile() .
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ();
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' ); Geben Sie einen Abschnitt mit Anmeldeinformationen und/oder .edgerc an: Standort:
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ( ' example ' , ' ../config/.edgerc ' );
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' );Diese Bibliothek bietet eine Befehlszeilenschnittstelle (CLI) mit einer begrenzten Anzahl von Funktionen, die HTTPIE imitieren.
Installieren Sie die CLI mit Composer vendor/bin/http oder führen Sie die PHAR -Datei aus.
# Composer installed
$ ./vendor/bin/http --help
# For Windows
> php ./vendor/bin/http --help
# PHAR download
php akamai-open-edgegrid-client.phar --helpSie können die Authentifizierung festlegen und eine HTTP -Methode (Fallunempfindlichkeit), ihre Header und alle JSON -Körperfelder angeben.
Hinweis: Unsere CLI zeigt alle HTTP- und Körperdaten. JSON ist formiert.
| Argument | Beschreibung |
|---|---|
--auth-type={edgegrid,basic,digest} | Stellen Sie den Authentifizierungstyp ein. Der Standard ist none . |
--auth user: oder --a user: | Stellen Sie den Abschnitt .edgerc auf die Verwendung fest. Im Gegensatz zu httpie-edgegrid ist der Dickdarm ( : optional. |
Header-Name:value | Header und Werte sind Dickdarm ( : getrennt. |
jsonKey=value | Sendet {"jsonKey": "value"} im POST oder PUT -Körper. Dies setzt auch automatisch den Content-Type ein und Accept Header in application/json . |
jsonKey:=[1,2,3] | Ermöglicht Ihnen, RAW -JSON -Daten anzugeben und {"jsonKey": [1, 2, 3]} im Körper. |
multipart/mime -Daten (Datei -Upload) senden. Dieses Paket enthält drei verschiedene Middleware -Handler, die Sie bei der Verwendung des Client transparent hinzufügen können, einem Standard GuzzleHttpClient oder als Handler.
AkamaiOpenEdgeGridHandlerAuthentication für die transparente API -Anfrage.AkamaiOpenEdgeGridHandlerVerbose für Ausgabe (oder logarits) Antworten.AkamaiOpenEdgeGridHandlerDebug für Ausgabe (oder Protokoll-) Fehler.| Handler | Anruf |
|---|---|
Authentication | Client->setAuthentication() oder in einer Instanz von AkamaiEdgeGridAuthentication an Client->__construct() . |
Verbose | Client->setInstanceVerbose() oder Client::setVerbose() weitergeben von `true |
Debug | Client->setInstanceDebug() , Client::setDebug() oder die debug -Konfigurationsoption mit `true festlegen |
| Handler | Beispiel |
|---|---|
| Authentifizierung | // 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
]); |
| Ausführlich | // 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. Alle Rechte vorbehalten
Lizenziert unter der Apache -Lizenz, Version 2.0 (der "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Sie können eine Kopie der Lizenz unter http://www.apache.org/licenses/license-2.0 erhalten.
Sofern nicht nach geltendem Recht oder schriftlich zu vereinbart wird, wird die im Rahmen der Lizenz verteilte Software auf "As is" -Basis ohne Gewährleistung oder Bedingungen jeglicher Art ausdrücklich oder impliziert verteilt. Siehe die Lizenz für die spezifischen Sprachberechtigungen und Einschränkungen im Rahmen der Lizenz.