Akamai Edgegrid Authentication untuk PHP
Perpustakaan ini membutuhkan PHP 8+ dan mengimplementasikan skema otentikasi Akamai EdgeGrid di atas Guzzle sebagai klien penggantian drop-in dan middleware.
Untuk menginstal, gunakan composer :
$ composer require akamai-open/edgegrid-clientUnduh file phar dari halaman rilis dan sertakan di dalam kode Anda:
```php
include 'akamai-open-edgegrid-auth.phar';
// Library is ready to use
```
AkamaiOpenEdgeGridClient Extends GuzzleHttpClient sebagai pengganti drop-in. Ini bekerja secara transparan untuk menandatangani permintaan API tanpa mengubah cara lain Anda menggunakan Guzzle.
Untuk menggunakan klien, hubungi AkamaiOpenEdgeGridClient->setAuth() atau berikan contoh AkamaiOpenEdgeGridAuthentication kepada konstruktor sebelum mengajukan permintaan ke 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 ' );Untuk menghasilkan kredensial Anda, lihat Buat Kredensial Otentikasi.
Kami merekomendasikan menggunakan file otentikasi .edgerc lokal. Tempatkan kredensial Anda di bawah judul [default] di direktori home lokal Anda atau direktori rumah pengguna server web.
[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Anda dapat menghubungi file .edgerc Anda satu dari dua cara:
Gunakan Metode Pabrik AkamaiOpenEdgeGridClient::createFromEdgeRcFile() .
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ();
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' ); Tentukan bagian kredensial dan/atau .edgerc Lokasi:
$ client = Akamai Open EdgeGrid Client:: createFromEdgeRcFile ( ' example ' , ' ../config/.edgerc ' );
// use $client just as you would GuzzleHttpClient
$ response = $ client -> get ( ' /identity-management/v3/user-profile ' );Perpustakaan ini menyediakan antarmuka baris perintah (CLI) dengan serangkaian kemampuan terbatas yang meniru httpie.
Instal CLI dengan vendor/bin/http atau jalankan file phar.
# Composer installed
$ ./vendor/bin/http --help
# For Windows
> php ./vendor/bin/http --help
# PHAR download
php akamai-open-edgegrid-client.phar --helpAnda dapat mengatur otentikasi dan menentukan metode HTTP (case tidak sensitif), headernya, dan bidang tubuh JSON apa pun.
Catatan: CLI kami menunjukkan semua data HTTP dan tubuh. JSON diformat.
| Argumen | Keterangan |
|---|---|
--auth-type={edgegrid,basic,digest} | Atur jenis otentikasi. Standarnya none . |
--auth user: Atau --a user: | Atur bagian .edgerc untuk digunakan. Tidak seperti httpie-edgegrid , usus besar ( : adalah opsional. |
Header-Name:value | Header dan nilai adalah usus besar ( : terpisah. |
jsonKey=value | Kirim {"jsonKey": "value"} di POST atau PUT tubuh. Ini juga akan secara otomatis mengatur Content-Type dan Accept header ke application/json . |
jsonKey:=[1,2,3] | Memungkinkan Anda untuk menentukan data JSON mentah, mengirim {"jsonKey": [1, 2, 3]} di dalam tubuh. |
multipart/mime (unggahan file). Paket ini menyediakan tiga penangan middleware yang berbeda, Anda dapat menambahkan secara transparan saat menggunakan Client , ke GuzzleHttpClient atau sebagai penangan.
AkamaiOpenEdgeGridHandlerAuthentication untuk penandatanganan permintaan API transparan.AkamaiOpenEdgeGridHandlerVerbose untuk output (atau log) respons.AkamaiOpenEdgeGridHandlerDebug untuk keluaran (atau log) kesalahan.| Pawang | Panggilan |
|---|---|
Authentication | Client->setAuthentication() atau lulus dalam contoh AkamaiEdgeGridAuthentication ke Client->__construct() . |
Verbose | Client->setInstanceVerbose() atau Client::setVerbose() lewat dari `true |
Debug | Client->setInstanceDebug() , Client::setDebug() , atau atur opsi konfigurasi debug dengan `true |
| Pawang | Contoh |
|---|---|
| Otentikasi | // 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
]); |
| Verbose | // 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
]); |
Hak Cipta © 2022 Akamai Technologies, Inc. Semua hak dilindungi undang -undang
Berlisensi di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di http://www.apache.org/licenses/license-2.0.
Kecuali diharuskan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat. Lihat lisensi untuk bahasa spesifik yang mengatur izin dan batasan di bawah lisensi.