dksdev01/edgegrid-client

实现了 Akamai {OPEN} EdgeGrid 身份验证,具体请参阅 https://developer.akamai.com/introduction/Client_Auth.html

dev-master 2023-02-24 13:09 UTC

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 获取许可证副本。

除非适用法律或书面协议有要求,否则在许可证下分发的软件是以“现状”为基础分发的,不提供任何形式的明示或暗示担保。有关许可证的权限和限制的具体语言,请参阅许可证。