dksdev01 / edgegrid-client
实现了 Akamai {OPEN} EdgeGrid 身份验证,具体请参阅 https://developer.akamai.com/introduction/Client_Auth.html
Requires
- php: >=8.1
- akamai-open/edgegrid-auth: 2.0.0
- guzzlehttp/guzzle: ^7.5.0
- league/climate: ~3.2
- monolog/monolog: ^2.0
- psr/log: ^1.1 || ^2.0 || ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.9
- humbug/box: >=4.1.0
- phpspec/prophecy: ~1.0
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-24 16:21:31 UTC
README
Akamai EdgeGrid 身份验证 for PHP
这个库需要 PHP 8+,并在 Guzzle 的基础上实现了 Akamai EdgeGrid 身份验证方案,既可以作为替换客户端,也可以作为中间件。
安装
要安装,请使用 composer
$ composer require akamai-open/edgegrid-client
替代安装方法
从 发布页面 下载 PHAR 文件并将其包含在您的代码中
```php
include 'akamai-open-edgegrid-auth.phar';
// Library is ready to use
```
使用
Akamai\Open\EdgeGrid\Client
扩展了 \GuzzleHttp\Client
作为即插即用的替换。它在不改变您使用 Guzzle 的其他方式的情况下透明地签署 API 请求。
要使用客户端,请调用 \Akamai\Open\EdgeGrid\Client->setAuth()
或在向 API 发送请求之前将 \Akamai\Open\EdgeGrid\Authentication
实例传递给构造函数。
$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 \Guzzle\Http\Client $response = $client->get('/identity-management/v3/user-profile');
身份验证
要生成您的凭据,请参阅 创建身份验证凭据。
我们建议使用本地的 .edgerc
身份验证文件。将您的凭据放在本地主目录或 Web 服务器用户的主目录下 [default]
标题下。
[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
您可以通过以下两种方式调用您的 .edgerc
文件
-
使用工厂方法
\Akamai\Open\EdgeGrid\Client::createFromEdgeRcFile()
。$client = \Akamai\Open\EdgeGrid\Client::createFromEdgeRcFile(); // use $client just as you would \Guzzle\Http\Client $response = $client->get('/identity-management/v3/user-profile');
-
指定凭据部分和/或
.edgerc
位置$client = \Akamai\Open\EdgeGrid\Client::createFromEdgeRcFile('example', '../config/.edgerc'); // use $client just as you would \Guzzle\Http\Client $response = $client->get('/identity-management/v3/user-profile');
命令行界面
此库提供了一个具有有限功能的命令行界面 (CLI),可以模拟 httpie。
安装
使用 composer vendor/bin/http
安装 CLI 或执行 PHAR 文件。
# Composer installed $ ./vendor/bin/http --help # For Windows > php ./vendor/bin/http --help # PHAR download php akamai-open-edgegrid-client.phar --help
参数
您可以设置身份验证并指定 HTTP 方法(不区分大小写)、其头部信息和任何 JSON 主体字段。
注意:我们的 CLI 显示所有 HTTP 和主体数据。JSON 已格式化。
限制
- 您不能发送
multipart/mime
(文件上传)数据。 - 不支持客户端证书。
- 无法验证服务器证书。
- 输出不能自定义。
- 响应没有语法高亮。
Guzzle 中间件
此包提供三种不同的中间件处理程序,您可以在使用 Client
时透明地将其添加到标准 \GuzzleHttp\Client
或作为处理程序。
\Akamai\Open\EdgeGrid\Handler\Authentication
用于透明地签署 API 请求。\Akamai\Open\EdgeGrid\Handler\Verbose
用于输出(或记录)响应。\Akamai\Open\EdgeGrid\Handler\Debug
用于输出(或记录)错误。
透明使用
中间件
许可证
版权所有 © 2022 Akamai Technologies, Inc. 保留所有权利
根据 Apache License, Version 2.0(“许可证”)许可;除非遵守许可证,否则不得使用此文件。您可以在 https://apache.ac.cn/licenses/LICENSE-2.0 获取许可证副本。
除非适用法律或书面协议有要求,否则在许可证下分发的软件是以“现状”为基础分发的,不提供任何形式的明示或暗示担保。有关许可证的权限和限制的具体语言,请参阅许可证。